ASP 효율 을 높이 는 5 대 기교

3939 단어 ASP 효율
기술 중 하나:Request 집합 사용 효율 향상  ASP 집합 을 방문 하여 값 을 추출 하 는 것 은 시간 이 걸 리 고 계산 자원 을 차지 하 는 과정 입 니 다.이 조작 은 관련 집합 에 대한 일련의 검색 을 포함 하고 있 기 때문에 국부 변수 에 접근 하 는 것 보다 훨씬 느리다.따라서 페이지 에 Request 집합 중 하 나 를 여러 번 사용 하려 면 부분 변수 로 저장 하 는 것 을 고려 해 야 합 니 다.  예 를 들 어 스 크 립 트 엔진 처리 속 도 를 높이 기 위해 코드 를 아래 형식 으로 작성 합 니 다. 

strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName")
strLastName=Request.Form("LastName")
If Len(strTitle) Then strTitle=strTitle & " "
If strFirstName="" Then strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Then
strFullName=strTitle & strFirstName & ". " & strLastName
Else
strFullName=strTitle & strFirstName & " " & strLastName
End If
기교 의 2:적당 한 집합 을 직접 방문 합 니 다.  다른 선택 이 없 는 것 이 아니라면 strPage=Request("page")라 는 형식 으로 인 자 를 가 져 오지 마 십시오.첫 번 째 일치 하 는 값 의 이름 을 발견 할 때 까지 모든 집합 인 QueryString,Form,Cookies,Client Certificate,ServerVarible 을 순서대로 검색 하기 때 문 입 니 다.이렇게 하 는 것 은 직접 방문 하 는 것 보다 적당 한 집합 효율 이 낮 고 안전 하지 않다.이 값 이 다른 집합 에 나타 나 지 않 는 다 는 것 을 절대적 으로 보장 하지 않 는 다 면.  예 를 들 어 고객 의 요 구 를 만족 시 키 는 WEB 서버 이름 을 검색 하고 싶 을 수도 있 습 니 다.이 는 모든 검색 에 나타 난 Request.server Varables 집합 에서'SERVER'를 찾 습 니 다.NAME'가 이 뤄 진다.그러나 다른 집합 에 도'SERVER'라 는 이름 이 포함 된다 면NAME"의 값(키 이름 은 대소 문자 구분 없 음),Request("serverName")을 사용 하면 잘못된 결 과 를 얻 을 수 있 습 니 다.한 마디 로 적절 한 집합 을 가능 한 한 직접 방문 해 야 한다. 기술 의 3:시간 이 걸 리 기 전에 Response.IsClient Connected 속성 을 사용 합 니 다.  Response.IsClient Connected 를 사용 하 는 것 은 사용자 가 서버 에 연결 되 어 있 는 지 확인 하고 ASP 가 만 든 웹 페이지 를 불 러 오 는 유용 한 방법 입 니 다.사용자 가 연결 을 끊 거나 다운 로드 를 중단 하면 서버 의 자원 을 낭비 하지 않 고 웹 페이지 를 만 듭 니 다.버퍼 내용 이 IIS 에 버 려 지기 때 문 입 니 다.따라서 많은 시간 을 계산 하거나 자원 을 많이 사용 하 는 웹 페이지 에 있어 모든 단계 에서 관광객 들 이 오프라인 상태 인지 확인 할 필요 가 있다. 

…… Code to create first part of the page
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
…… Code to create next part of page
기교 의 4:ASP 중의 ADO 조작 최적화  일반적으로 데 이 터 는 WEB 사이트 의 실제 내용 을 구성 합 니 다.그래서 ADO 작업 을 최적화 하여 ASP 코드 의 집행 을 가속 화하 고 매우 유용 합 니 다.a. 필요 한 열 만 선택:ADO 기록 집합 을 열 때 모든 열 을 얻 을 필요 가 없 으 면 표 이름(즉 SELECT)을 자동 으로 사용 하지 마 십시오. *)。단독 열 을 사용 하 는 것 은 서버 로 보 내 거나 서버 에서 꺼 내 는 데 이 터 를 줄 이 는 것 을 의미한다.모든 열 을 사용 해 야 하 더 라 도 각 열 을 단독으로 명명 하 는 것 이 가장 좋 은 성능 을 얻 을 수 있 습 니 다.서버 가 이 열 들 의 이름 을 더 이상 설명 할 필요 가 없 기 때 문 입 니 다.    b. 가능 한 한 저장 과정 을 사용 하 세 요.저장 프로 세 스 는 미리 컴 파일 된 프로그램 으로 이미 준 비 된 실행 계획 을 포함 하고 있 기 때문에 SQL 구문 보다 더 빨리 실 행 됩 니 다.    c. 적당 한 커서 와 잠 금 모드 를 사용 합 니 다.모든 작업 이 기록 에서 데 이 터 를 집중 적 으로 읽 고 화면 에 표시 하 는 것 이 라면 이전 만 이동 하고 읽 을 수 있 는 기록 집합 을 사용 합 니 다.ADO 는 기록 과 잠 금 의 세부 사항 을 유지 하 는 작업 이 적 을 수록 실행 성능 이 높 습 니 다.    d. 대상 변 수 를 사용 합 니 다.기록 집합 을 옮 겨 다 닐 때 성능 을 향상 시 킬 수 있 는 방법 은 대상 변 수 를 사용 하여 집합 중인 구성원 을 가리 키 는 것 이다.예 를 들 면: 

While Not RsGc.EOF
Response.Write " :" & RsGc("GcMC") & "( :" & RsGc("GcCode") & ") "
RsGc.MoveNext
Wend
다음 코드 로 바 꾸 어 실행 을 가속 화 할 수 있 습 니 다.  

set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode")
While Not rsGc.EOF Response.Write " :" & GcMc & "( :" & GcCode & ") " RsGc.MoveNext
Wend
       새로운 코드 는 대상 변수의 인용 을 만 들 었 기 때문에 실제 변수 가 아 닌 대상 변 수 를 사용 할 수 있 습 니 다.이 는 스 크 립 트 엔진 의 작업 이 줄 어 들 었 음 을 의미 합 니 다.집합 에서 색인 을 하 는 횟수 가 줄 어 들 었 기 때 문 입 니 다.  기술 5:스 크 립 트 엔진 을 혼용 하지 마 세 요.  ASP 페이지 에 서 는 VBScript 도 사용 할 수 있 고 JScript 도 사용 할 수 있다 는 것 을 잘 알 고 있 습 니 다.그러나 같은 페이지 에서 JScript 와 VBScript 를 동시에 사용 하 는 것 은 바람 직 하지 않다.서버 가 하나의 스 크 립 트 엔진 이 아 닌 두 개의 스 크 립 트 엔진 을 예화 하고 캐 시 해 야 하기 때문에 어느 정도 시스템 부담 이 증가 합 니 다.따라서 성능 상 같은 페이지 에 여러 스 크 립 트 엔진 을 혼용 해 서 는 안 된다.

좋은 웹페이지 즐겨찾기