2009-07-07 6 views
1

요청을 받아들이고 처리하여 (데이터베이스 조회를 통해) HttpModule을 처리하고 결과 (HTML)를 응답으로 다시 출력합니다. HttpModule은 요청이 완료된 후에 요청을 실제로 종료하므로 요청의 일반적인 ASP.NET 처리가 없습니다.HttpModule을 통한 요청 캐싱

데이터베이스 조회에 비용이 많이 드는/시간이 많이 소요될 수 있으므로 (동일한) 요청이 데이터베이스로 이동하지 않고 동일한 컨텐츠를 제공 할 수 있도록 인 메모리를 생성합니다.

HttpModule의 후속 호출에 사용할 수 있도록 (메모리에) 데이터를 저장할 수 있습니까?

+0

주요 질문과 관련이 없지만 HttpHandler 대신 HttpModule을 사용하는 이유는 무엇입니까? 귀하의 질문에 따라, 그것은 HttpHandler 더 나은 적합 것 같습니다. – SolutionYogi

+0

필자가 이해하는 한, HttpHandler는 자신의 파일 확장자를 설정하거나 특정 확장자를 처리하고자 할 때 일반적으로 사용되는 반면, HttpModule은 모든 요구 사항을 가로채는 반면 내 요구 사항에 더 적합합니다. – ObiWanKenobi

답변

2

Application.Cache에 저장할 수 있습니다. 결과는 전체적으로 사용할 수 있습니다. 필요할 때마다 "새 데이터"를 확인하십시오.

+0

더 나은 = 캐시 종속성을 만듭니다. –

+0

내 대답을 편집하고 싶었습니다. 나를 때려. ASP.NET 2.0 및 SQL 2005 이후로 데이터에 대한 일종의 "푸시 (push)"종속성을 만들 수 있습니다. – Colin

0

db에서 가져온 데이터와 비교 한 응답 크기는 어떻습니까? 일단 데이터를 메모리에 저장하면 렌더링은 어떻게됩니까? 렌더링이 문제가되지 않는다면 데이터를 캐시하고 각 요청에 렌더링합니다. 렌더링이 많은 CPU를 필요로한다면 전체 응답을 캐싱하고 캐시에서 직접 응답해야합니다.