이 설명서는 보관되지만 유지 되지 않습니다.

방법: 웹 서비스의 서버측 출력 캐싱을 사용하도록 설정

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation .

다음 코드 예제에서는 웹 서비스 메서드의 CacheDuration 속성을 사용하여 60초 동안 출력 캐싱을 지정하는 방법을 보여 줍니다. 이 예제에서는 Design Guidelines for XML Web Services Created Using ASP.NET 항목에서 설명하는 지침 중 하나를 보여 줍니다.

ASP.NET 2.0 웹 서비스 응용 프로그램에서 출력 캐싱에 영향을 미칠 수 있는 두 가지 문제가 있습니다.

ASP.NET 2.0에서 테스트 페이지의 HTTP 메서드가 GET에서 POST로 변경되었습니다. 그러나 대부분의 경우 POST는 캐시되지 않습니다. ASP.NET 2.0 웹 서비스 응용 프로그램에서 테스트 페이지를 변경하여 GET을 사용하면 캐싱이 제대로 작동합니다.

또한 HTTP는 사용자 에이전트(브라우저 또는 호출 응용 프로그램)가 "Cache-Control"을 "no-cache"로 설정하여 서버 캐싱을 재정의할 수 있어야 함을 나타냅니다. 따라서 ASP.NET 응용 프로그램에서는 "no-cache" 헤더를 발견하는 경우 캐시된 결과를 무시합니다.

예제

<%@ WebService Language="C#" Class="MathService" %>
using System;
using System.Web.Services;
public class MathService : WebService {
   [WebMethod(CacheDuration=60)]
   public float Add(float a, float b)
   {
       return a + b;
   }
   [WebMethod(CacheDuration=60)]
   public float Subtract(float a, float b)
   {
       return a - b;
   }
   [WebMethod(CacheDuration=60)]
   public float Multiply(float a, float b)
   {
       return a * b;
   }
   [WebMethod(CacheDuration=60)]
   public float Divide(float a, float b)
   {
       if (b==0) return -1;
       return a / b;
   }
}  

참고 항목

표시: