ASP.NET 캐싱 통합
AspNetCachingIntegration sample 샘플에서는 WCF 웹 HTTP 프로그래밍 모델을 사용하여 ASP.NET 출력 캐시를 활용하는 방법을 보여 줍니다. 이 항목에서는 ASP.NET 출력 캐시 통합 기능을 중점적으로 설명합니다.
시연
ASP.NET 출력 캐시와 통합
토론(Discussion)
이 샘플에서는 AspNetCacheProfileAttribute을 사용하여 WCF(Windows Communication Foundation) 서비스와 함께 ASP.NET 출력 캐싱을 활용합니다. AspNetCacheProfileAttribute는 서비스 작업에 적용되며, 구성 파일에서 지정된 작업의 응답에 적용해야 하는 캐시 프로필의 이름을 제공합니다.
샘플 Service 프로젝트의 Service.cs 파일에서 GetCustomer
및 GetCustomers
작업은 모두 캐시 프로필 이름 "CacheFor60Seconds"를 제공하는 AspNetCacheProfileAttribute로 표시됩니다. Service 프로젝트의 Web.config 파일에서 캐시 프로필 "CacheFor60Seconds"는 <system.web>
의 <caching>
요소 아래에 제공됩니다. 이 캐시 프로필의 경우 duration
특성 값은 "60"이므로 이 프로필과 연결된 응답은 60초 동안 ASP.NET 출력 캐시에 캐시됩니다. 또한 이 캐시 프로필의 경우 varmByParam
특성이 "format"으로 설정되어 있으므로 format
쿼리 문자열 매개 변수의 값이 다른 요청에서는 응답이 별도로 캐시됩니다. 마지막으로 캐시 프로필의 varyByHeader
특성이 "Accept"로 설정되어 있으므로 Accept 헤더 값이 다른 요청에서는 응답이 별도로 캐시됩니다.
Client 프로젝트의 Program.cs에서는 HttpWebRequest를 사용하여 이러한 클라이언트를 작성하는 방법을 보여 줍니다. 이 방법은 WCF 서비스에 액세스하는 여러 방법 중 하나일 뿐입니다. WCF 채널 팩터리 및 WebClient와 같은 다른 .NET Framework 클래스를 사용하여 서비스에 액세스할 수도 있습니다. 기본 HTTP 서비스 샘플과 같은 SDK의 다른 샘플에서는 이러한 클래스를 사용하여 WCF 서비스와 통신하는 방법을 보여 줍니다.
이 샘플을 실행하려면
이 샘플은 다음의 세 프로젝트로 구성되어 있습니다.
서비스: ASP.NET에서 호스트되는 WCF HTTP 서비스가 포함된 웹 애플리케이션 프로젝트입니다.
클라이언트: 서비스를 호출하는 콘솔 애플리케이션 프로젝트입니다.
공용: 클라이언트 및 서비스에서 사용하는 고객 유형이 포함된 공유 라이브러리입니다.
Client 콘솔 애플리케이션이 실행되면 클라이언트에서는 서비스로 요청을 보내고 응답의 관련 정보를 콘솔 창에 씁니다.
이 샘플을 실행하려면
ASP.NET Caching Integration 샘플의 솔루션을 엽니다.
Ctrl+Shift+B를 눌러 솔루션을 빌드합니다.
솔루션 탐색기 창이 아직 열려 있지 않은 경우 CTRL+W+S를 눌러 엽니다.
솔루션 탐색기 창에서 서비스 프로젝트를 마우스 오른쪽 단추로 클릭하고 새 인스턴스 시작을 선택합니다. 그러면 ASP.NET Development Server가 시작되어 서비스를 호스트합니다.
솔루션 탐색기 창에서 클라이언트 프로젝트를 마우스 오른쪽 단추로 클릭하고 새 인스턴스 시작을 선택합니다.
클라이언트 콘솔 창이 나타나고 실행 중인 서비스의 URI와 실행 중인 서비스에 대한 HTML 도움말 페이지의 URI가 제공됩니다. 언제든지 브라우저에서 HTML 도움말 페이지의 URI를 입력하면 해당 도움말 페이지를 볼 수 있습니다.
샘플이 실행되면 클라이언트에서는 현재 활동의 상태를 씁니다.
아무 키나 눌러 클라이언트 콘솔 애플리케이션을 종료합니다.
Shift+F5를 눌러 서비스 디버깅을 중지합니다.
Windows 알림 영역에서 ASP.NET 개발 서버 아이콘을 마우스 오른쪽 단추로 클릭하고 중지를 선택합니다.