次の方法で共有


WebMethodAttribute.CacheDuration プロパティ

応答をキャッシュ内に保持する秒数を取得または設定します。

Public Property CacheDuration As Integer
[C#]
public int CacheDuration {get; set;}
[C++]
public: __property int get_CacheDuration();public: __property void set_CacheDuration(int);
[JScript]
public function get CacheDuration() : int;public function set CacheDuration(int);

プロパティ値

応答をキャッシュ内に保持する秒数。既定値は 0 です。応答がキャッシュされていないことを示します。

解説

キャッシングを有効にすると、要求と応答はサーバーのメモリに少なくともキャッシュの存続期間中は保持されるため、要求または応答のデータが大量の場合、または要求が大きく変更される場合は注意が必要です。

使用例

[Visual Basic, C#] ServiceUsage XML Web サービス メソッドを呼び出した結果を、キャッシュ内に 60 秒間格納する例を次に示します。その 60 秒間に、XML Web サービス クライアントが ServiceUsage XML Web サービス メソッドを実行すると、常に同じ結果が返されます。

 
<%@ WebService Language="VB" Class="Counter" %>

Imports System.Web.Services
Imports System
Imports System.Web

Public Class Counter
    Inherits WebService  

    <WebMethod(Description := "Number of times this service has been accessed", _
        CacheDuration := 60, _
        MessageName := "ServiceUsage")> _
    Public Function ServiceUsage() As Integer
        
        ' If the XML Web service has not been accessed, initialize it to 1.
        If Application("MyServiceUsage") Is Nothing Then
            Application("MyServiceUsage") = 1
        Else
            ' Increment the usage count.
            Application("MyServiceUsage") = CInt(Application("MyServiceUsage")) + 1
        End If
        
        ' Return the usage count.
        Return CInt(Application("MyServiceUsage"))
    End Function
End Class


[C#] 
<%@ WebService Language="C#" Class="Counter" %>

using System.Web.Services;
using System;
using System.Web;

public class Counter : WebService {
     
     [ WebMethod(Description="Number of times this service has been accessed",
     CacheDuration=60,MessageName="ServiceUsage") ]
     public int ServiceUsage() {
          // If the XML Web service has not been accessed, initialize it to 1.
          if (Application["MyServiceUsage"] == null) {
              Application["MyServiceUsage"] = 1;
          }
          else {
              // Increment the usage count.
              Application["MyServiceUsage"] = ((int) Application["MyServiceUsage"]) + 1;
          }

          // Return the usage count.     
          return  (int) Application["MyServiceUsage"];
     }
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

WebMethodAttribute クラス | WebMethodAttribute メンバ | System.Web.Services 名前空間