Visual C# .NET 웹 서비스를 사용하여 캐싱 출력 수행하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 318299 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

참고 다음 .NET Framework 클래스 라이브러리의 네임스페이스는 이 문서에서가 참조됩니다.
  • System.Web.Services
  • System.Text
이 문서에서는 예제 출력 캐싱을 사용하는 ASP.NET 웹 서비스를 만드는 방법을 설명합니다. 출력 캐싱을 위해 해당 WebMethod 지정한 기간 특성을 기반으로 웹 서비스의 출력 응답 결과를 캐시합니다.

참고 ASP.NET 2.0에서는 테스트 페이지의 HTTP 메서드를 위해 POST GET에서 변경되었습니다. 그러나 게시하는 일반적으로 캐시되지 않습니다. 변경할 경우 제대로 작동하는 캐싱 ASP.NET 2.0 웹 서비스 응용 프로그램에서 사용할 수 있는 테스트 페이지를 GET. 또한 HTTP 사용자 에이전트 (브라우저 또는 호출 응용 프로그램) 서버가 Cache-Control 헤더를 "no-cache" 로 설정하여 캐싱을 재정의할 수 있어야 한다는 나타냅니다. 따라서 ASP.NET 응용 프로그램을 no-cache 머리글 찾을 때 캐시된 결과를 무시합니다.

요구 사항

다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 고급 서버 또는 Microsoft Windows XP
  • Microsoft .NET Framework
  • Microsoft 인터넷 정보 서비스 (IIS)

새 ASP.NET 웹 서비스 응용 프로그램 만들기

WSCacheSample 라는 새 ASP.NET 웹 서비스 응용 프로그램을 만듭니다.
  1. Visual Studio .NET 시작하십시오.
  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 새 프로젝트 마법사 시작 프로젝트 클릭하십시오.
  3. 프로젝트 형식Visual C# 을 선택하십시오. 템플릿ASP.NET 웹 서비스 를 선택하십시오.
  4. 위치 상자에 "WebService #" URL 경로를 WSCacheSample 프로젝트의 이름을 바꿀 경우. 로컬 서버를 사용하는 경우 서버 이름을 위치 상자에 이와 비슷한 모양으로 http://localhost로 둡니다.
    http://localhost/WSCacheSample

샘플 웹 서비스 만들기

  1. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로, 추가 를 가리킨 다음 웹 서비스 추가 클릭하십시오.
  2. 이름, CacheDemo.asmx 를 입력한 다음 열기 를 클릭하십시오. 웹 서비스 디자인 보기에서 열립니다.
  3. 웹 서비스를 마우스 오른쪽 단추로 클릭한 다음 코드 보기를 클릭하십시오.
  4. CacheDemo.asmx.cs 클래스 파일에 다음 코드를 추가하십시오. 이 60초 CacheDuration 함께 GetCacheEntryTime 라는 WebMethod 특성을 추가합니다.
    [WebMethod(CacheDuration=60)]
    public string GetCacheEntryTime(string Name)
    {
    	StringBuilder sb = new StringBuilder("Hi ");
    	sb.Append(Name);
    	sb.Append(", the Cache entry was made at ");
    	sb.Append(System.DateTime.Now.ToString());
    	
    	return(sb.ToString());
    }
    						
    참고: 의미 없는 캐시된 0으로 WebMethod 특성에 을 대한 CacheDuration 기본적으로 설정됩니다.
  5. 샘플 코드를 StringBuilder 메서드는 사용하므로 System.Text 네임스페이스에 대한 참조를 포함하십시오. 웹 서비스는 이 비슷한 모양의 대한 네임스페이스 나열:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    참고: StringBuilder 클래스에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
    StringBuilder 클래스
    http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder(vs.71).aspx
  6. Visual Studio .NET IDE 빌드 메뉴에서 솔루션 빌드 를 클릭하십시오.
  7. [파일] 메뉴에서 [프로젝트 및 관련된 파일을 저장하려면 모두 저장 을 클릭하십시오.

프로젝트 테스트

샘플 CacheDemo 웹 서비스를 만든 CacheDuration 특성 설정을 효과를 보려면 GetCacheEntryTimeWebMethod 실행하십시오.
  1. 솔루션 탐색기에서 CacheDemo.asmx 마우스 오른쪽 단추로 클릭한 다음 브라우저에서 보기 를 클릭하십시오.

    브라우저에서 .asmx 파일을 열고 GetCacheEntryTimeWebMethod 특성을 페이지 위쪽의 글머리 기호 항목으로 나열됩니다.
  2. GetCacheEntryTime 링크를 클릭하십시오.
  3. 메서드의 이름 상자에 Joe 입력한 다음 WebMethod 특성을 실행하고 XML 결과 반환 호출 클릭하십시오. 메시지에서 반환된 타임스탬프를 확인하십시오.

    참고: 페이지에 나타나지 않는, 웹 주소 상자에 다음을 입력하여 웹 서비스 메서드를 실행할 수 있는 WebServices 도움이 될 경우 브라우저:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. WebMethodJoe 입력하여 다시 실행하십시오. 참고: CacheDuration 특성으로 지정된 시간 동안 60 초 WebMethod 특성을 실행하면 같은 시간 스탬프가 표시됩니다.
  5. 4단계가 반복하되 Joe 대신 운동을 WebMethod 특성 매개 변수 이름 상자에 입력하십시오.

    시간 스탬프 결과를 다른 것을 확인할 수 있습니다. 기본 출력 결과 캐싱 WebMethod 특성 매개 변수를 기반으로 하기 때문에 발생합니다. 이 예제에서는 Joe 처음 두 테스트 위한 매개 변수 값 및 두 번째 테스트를 위해 캐시된 출력이 반환됩니다. 세 번째 테스트에서 일주일에 사용할 때 새 결과가 나타납니다. 60초 동안 에서 테스트를 반복하여 경우 캐시된 출력 결과가 나타납니다. 출력 캐시 버전 차이는 WebMethod 특성 매개 변수에 관련이 있습니다.

문제 해결

웹 서비스에 대해 출력 캐싱을 구현할 것인지 여부를 결정할 때는 해당 서버의 리소스를 사용하여 요청이 관련된 WebMethod 특성을 매개 변수를 광범위하게 달라질 경우 또는 응답을 많은 양의 데이터 포함하는 경우 저하될 수 있습니다 합니다.

참조

WebMethodAttribute.CacheDuration 속성 및 WebMethodAttribute 클래스에 대한 자세한 내용은 다음 항목에서 .NET Framework 클래스 참조 라이브러리 설명서:
WebMethodAttribute.CacheDuration 속성
http://msdn2.microsoft.com/en-us/library/system.web.services.webmethodattribute.cacheduration(vs.71).aspx
웹 서비스에 대한 자세한 내용은 다음 MSDN 웹 사이트를 방문하십시오.
ASP.NET 사용하여 만든 XML 웹 서비스 디자인 지침
http://msdn2.microsoft.com/en-us/library/w8excbb0(vs.71).aspx

WebMethod 특성 사용
http://msdn2.microsoft.com/en-us/library/byxd99hx(vs.71).aspx
추가 샘플, 설명서 및 .NET Framework 프로그래밍에 관련된 링크를 다음 CodePlex 웹 사이트를 방문하십시오.
http://www.codeplex.com

속성

기술 자료: 318299 - 마지막 검토: 2007년 8월 28일 화요일 - 수정: 6.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 2.0
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
키워드:?
kbmt kbcaching kbhowtomaster KB318299 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com