2011-09-23 3 views
1

내 있음 Application_BeginRequest 재 작성 목적으로 확인한 사항이 있습니다. 바로 그 끝에서 나는 단순히이 default.aspx에 모든 경로를 다시asp.net 페이지 처리가 빠름?

<%@ Page Language="C#" EnableSessionState="False"%> 
<%@ Import Namespace="MyWebsite"%> 
<% PageRequest.WritePage();%> 
아마

이없는 (일명 거의 존재하지 않는) 오버 헤드 다음하지만 어쨌든 물어 볼게요. 재 작성하는 대신 WritePage으로 대신 전화 할 수 있습니까?

답변

1

무엇을 PageRequest.WritePage이하는지, 페이지 수명주기를 신경 쓰는지 여부에 따라 다릅니다. BeginRequest은 페이지 수명주기의 첫 번째 이벤트 일뿐입니다. 이 메서드에서 전체 페이지를 렌더링하고 컨트롤이없는 경우 나중에 Response.End을 호출하십시오.

default.aspx에 코드를 저장하면 출력 캐싱을 계속 사용할 수 있다는 장점이 있습니다. WirtePage에 많은 논리가 있고이 내용이 캐시 가능하면 성능이 크게 향상됩니다.

+0

재미 있습니다. 글쎄, 동적 페이지를 캐싱 할 수 있습니까? 모든 정적 컨텐츠 (img, js 등)가 캐시 헤더 (브라우저 측 캐시)를 설정합니다. 캐시는 무엇을합니까? 많은 내 사이트에서 사용자는 로그인하지 않았지만 도움이 필요합니까? 내 SQL과 페이지 코드가 빠를 것 같아서 (.01-0.02 초) –

+1

'OutputCache'를 사용하여 서버 측 및/또는 클라이언트 측 모두에서 컨텐트를 캐시 할 수 있습니다. 그것은 동적 인 페이지에 대해 작동합니다. 단지 'VaryByHeader','VaryByParam' 등을 사용하여 캐시를 기반으로하는 매개 변수를 알려 주기만하면됩니다.'VaryByCustom'을 사용하여 자신의 캐시 규칙을 구현할 수 있습니다. 자세한 정보 [여기] (http://msdn.microsoft.com/en-us/library/hdxfb6cy.aspx) 많은 양의 트래픽을 처리해야하는 경우 사이트의 확장성에 차이가 있습니다. – TheCodeKing

관련 문제