Share via


HttpRequestCachePolicy 建構函式

定義

初始化 HttpRequestCachePolicy 類別的新執行個體。

多載

HttpRequestCachePolicy()

初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy(DateTime)

使用指定的快取同步處理日期,初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy(HttpRequestCacheLevel)

使用指定的快取原則,初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan)

使用指定的保留期限控制和時間值,初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan, TimeSpan)

使用指定的最長保留期限、保留期限選項和時間值,初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan, TimeSpan, DateTime)

使用指定的最長保留期限、保留期限控制選項、時間值和快取同步處理日期,初始化 HttpRequestCachePolicy 類別的新執行個體。

HttpRequestCachePolicy()

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy();
public HttpRequestCachePolicy ();
Public Sub New ()

範例

下列程式代碼範例示範如何使用這個建構函式來設定快取原則。

static WebResponse^ GetResponseUsingCacheDefault( Uri^ uri )
{
   // Set  the default cache policy level for the "http:" scheme.
   RequestCachePolicy^ policy = gcnew RequestCachePolicy;

   // Create the request.
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
public static WebResponse GetResponseUsingCacheDefault(Uri uri)
{
    // Set  the default cache policy level for the "http:" scheme.
    RequestCachePolicy policy = new RequestCachePolicy();
    // Create the request.
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);

    return response;
}

備註

這個建構函式會將 Level 屬性初始化為 Default

適用於

HttpRequestCachePolicy(DateTime)

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

使用指定的快取同步處理日期,初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy(DateTime cacheSyncDate);
public HttpRequestCachePolicy (DateTime cacheSyncDate);
new System.Net.Cache.HttpRequestCachePolicy : DateTime -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (cacheSyncDate As DateTime)

參數

cacheSyncDate
DateTime

DateTime 物件,指定儲存在快取中的資源必須重新確認的時間。

範例

下列程式代碼範例示範如何根據快取同步處理日期建立快取原則。

static HttpRequestCachePolicy^ CreateLastSyncPolicy( DateTime when )
{
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( when );
   Console::WriteLine( L"When: {0}", when );
   Console::WriteLine( policy->CacheSyncDate );
   return policy;
}
public static HttpRequestCachePolicy CreateLastSyncPolicy(DateTime when)
{
    HttpRequestCachePolicy policy =
       new HttpRequestCachePolicy(when);

    Console.WriteLine("When: {0}", when);
    Console.WriteLine(policy.CacheSyncDate.ToString());
    return policy;
}

備註

快取同步處理日期可讓您指定必須重新驗證快取內容的絕對日期。 如果在快取同步處理日期之前上次重新驗證快取專案,就會與伺服器重新驗證。 如果在快取同步處理日期之後重新驗證快取專案,而且沒有任何伺服器重新驗證需求會使快取專案失效,則會使用快取中的專案。 如果快取同步處理日期設定為未來的日期,則每次要求時都會重新驗證項目,直到快取同步處理日期已過為止。

這個建構函式會將 Level 屬性初始化為 DefaultCacheSyncDate 屬性會初始化為 cacheSyncDate

適用於

HttpRequestCachePolicy(HttpRequestCacheLevel)

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

使用指定的快取原則,初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy(System::Net::Cache::HttpRequestCacheLevel level);
public HttpRequestCachePolicy (System.Net.Cache.HttpRequestCacheLevel level);
new System.Net.Cache.HttpRequestCachePolicy : System.Net.Cache.HttpRequestCacheLevel -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (level As HttpRequestCacheLevel)

參數

範例

下列程式代碼範例示範如何建立快取原則,以允許從快取使用快取中找到的資源。

static HttpRequestCachePolicy^ CreateCacheIfAvailablePolicy()
{
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::CacheIfAvailable );
   Console::WriteLine( policy );
   return policy;
}
public static HttpRequestCachePolicy CreateCacheIfAvailablePolicy()
{
    HttpRequestCachePolicy policy =
        new HttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable);

    Console.WriteLine(policy.ToString());
    return policy;
}

備註

這個建構函式會將 Level 屬性初始化為 level

HttpRequestCacheLevel 會控制是否啟用快取,以及何時可以使用快取。 如需詳細資訊,請參閱 HttpRequestCacheLevel 檔。

適用於

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan)

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

使用指定的保留期限控制和時間值,初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy(System::Net::Cache::HttpCacheAgeControl cacheAgeControl, TimeSpan ageOrFreshOrStale);
public HttpRequestCachePolicy (System.Net.Cache.HttpCacheAgeControl cacheAgeControl, TimeSpan ageOrFreshOrStale);
new System.Net.Cache.HttpRequestCachePolicy : System.Net.Cache.HttpCacheAgeControl * TimeSpan -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (cacheAgeControl As HttpCacheAgeControl, ageOrFreshOrStale As TimeSpan)

參數

cacheAgeControl
HttpCacheAgeControl

下列其中一個 HttpCacheAgeControl 列舉值:MaxAgeMaxStaleMinFresh

ageOrFreshOrStale
TimeSpan

TimeSpan 值,指定一段時間。

例外狀況

cacheAgeControl 參數指定的值無法與這個建構函式同時使用。

範例

下列程式代碼範例示範如何根據最小有效期限建立快取原則。

static HttpRequestCachePolicy^ CreateMinFreshPolicy( TimeSpan span )
{
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpCacheAgeControl::MinFresh,span );
   Console::WriteLine( L"Minimum freshness {0}", policy->MinFresh );
   return policy;
}
public static HttpRequestCachePolicy CreateMinFreshPolicy(TimeSpan span)
{
    HttpRequestCachePolicy policy =
        new HttpRequestCachePolicy(HttpCacheAgeControl.MinFresh, span);
    Console.WriteLine("Minimum freshness {0}", policy.MinFresh.ToString());
    return policy;
}

備註

cacheAgeControl 會定義參數值的意義 ageOrFreshOrStale ,並用來設定相關聯的屬性。 例如,當您指定 MaxStale時, MaxStale 屬性會設定為 參數的值 ageOrFreshOrStale

這個建構函式會將 Level 屬性初始化為 Default

適用於

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan, TimeSpan)

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

使用指定的最長保留期限、保留期限選項和時間值,初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy(System::Net::Cache::HttpCacheAgeControl cacheAgeControl, TimeSpan maxAge, TimeSpan freshOrStale);
public HttpRequestCachePolicy (System.Net.Cache.HttpCacheAgeControl cacheAgeControl, TimeSpan maxAge, TimeSpan freshOrStale);
new System.Net.Cache.HttpRequestCachePolicy : System.Net.Cache.HttpCacheAgeControl * TimeSpan * TimeSpan -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (cacheAgeControl As HttpCacheAgeControl, maxAge As TimeSpan, freshOrStale As TimeSpan)

參數

cacheAgeControl
HttpCacheAgeControl

HttpCacheAgeControl 值。

maxAge
TimeSpan

TimeSpan 值,指定資源的最長保留期限。

freshOrStale
TimeSpan

TimeSpan 值,指定一段時間。

例外狀況

指定給 cacheAgeControl 參數的值無效。

範例

下列程式代碼範例示範如何根據最小有效期限和最長存留期建立快取原則。

static HttpRequestCachePolicy^ CreateFreshAndAgePolicy( TimeSpan freshMinimum, TimeSpan ageMaximum )
{
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpCacheAgeControl::MaxAgeAndMinFresh,
       ageMaximum, freshMinimum );
   Console::WriteLine( policy );
   return policy;
}
public static HttpRequestCachePolicy CreateFreshAndAgePolicy(TimeSpan freshMinimum, TimeSpan ageMaximum)
{
    HttpRequestCachePolicy policy =
        new HttpRequestCachePolicy(HttpCacheAgeControl.MaxAgeAndMinFresh, ageMaximum, freshMinimum);
    Console.WriteLine(policy.ToString());
    return policy;
}

備註

cacheAgeControl 是用來解譯參數值的意義 freshOrStale ,並設定相關聯的屬性。 例如,當您指定 MaxStale時, MaxStale 屬性會設定為 參數的值 freshOrStale 。 當您指定 MaxAgeAndMaxStale時,會 MaxAge 使用 參數的值 maxAge 來設定 屬性,並使用 MaxStale 參數的值 freshOrStale 來設定 屬性。

請注意,除非您指定 MaxAgeAndMaxStaleMaxAgeAndMinFresh,否則 MaxAge 不會設定 屬性。

這個建構函式會將 Level 屬性初始化為 Default

適用於

HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan, TimeSpan, DateTime)

來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs
來源:
HttpRequestCachePolicy.cs

使用指定的最長保留期限、保留期限控制選項、時間值和快取同步處理日期,初始化 HttpRequestCachePolicy 類別的新執行個體。

public:
 HttpRequestCachePolicy(System::Net::Cache::HttpCacheAgeControl cacheAgeControl, TimeSpan maxAge, TimeSpan freshOrStale, DateTime cacheSyncDate);
public HttpRequestCachePolicy (System.Net.Cache.HttpCacheAgeControl cacheAgeControl, TimeSpan maxAge, TimeSpan freshOrStale, DateTime cacheSyncDate);
new System.Net.Cache.HttpRequestCachePolicy : System.Net.Cache.HttpCacheAgeControl * TimeSpan * TimeSpan * DateTime -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (cacheAgeControl As HttpCacheAgeControl, maxAge As TimeSpan, freshOrStale As TimeSpan, cacheSyncDate As DateTime)

參數

cacheAgeControl
HttpCacheAgeControl

HttpCacheAgeControl 值。

maxAge
TimeSpan

TimeSpan 值,指定資源的最長保留期限。

freshOrStale
TimeSpan

TimeSpan 值,指定一段時間。

cacheSyncDate
DateTime

DateTime 物件,指定儲存在快取中的資源必須重新確認的時間。

範例

下列程式代碼範例示範如何根據最小有效期限、最長存留期和快取同步處理日期來建立快取原則。

static HttpRequestCachePolicy^ CreateFreshAndAgePolicy2( TimeSpan freshMinimum, TimeSpan ageMaximum, DateTime when )
{
   HttpRequestCachePolicy^ policy = 
       gcnew HttpRequestCachePolicy( HttpCacheAgeControl::MaxAgeAndMinFresh, 
       ageMaximum, freshMinimum, when );
   Console::WriteLine( policy );
   return policy;
   
   // For the following invocation: CreateFreshAndAgePolicy(new TimeSpan(5,0,0), new TimeSpan(10,0,0),         );
   // the output is:
   // Level:Automatic AgeControl:MinFreshAndMaxAge MinFresh:18000 MaxAge:36000
}
public static HttpRequestCachePolicy CreateFreshAndAgePolicy2(TimeSpan freshMinimum, TimeSpan ageMaximum, DateTime when)
{
    HttpRequestCachePolicy policy =
        new HttpRequestCachePolicy(HttpCacheAgeControl.MaxAgeAndMinFresh, ageMaximum, freshMinimum, when);
    Console.WriteLine(policy.ToString());
    return policy;
    // For the following invocation:
    // CreateFreshAndAgePolicy(new TimeSpan(5,0,0), new TimeSpan(10,0,0),);
    // the output is:
    // Level:Automatic
    // AgeControl:MinFreshAndMaxAge
    // MinFresh:18000
    // MaxAge:36000
}

備註

cacheAgeControl 是用來解譯參數值的意義 freshOrStale ,並設定相關聯的屬性。 例如,當您指定 MaxStale時, MaxStale 屬性會設定為 參數的值 freshOrStale 。 當您指定 MaxAgeAndMaxStale時,會 MaxAge 使用 參數的值 maxAge 來設定 屬性,並使用 MaxStale 參數的值 freshOrStale 來設定 屬性。

請注意,除非您指定 MaxAgeAndMaxStaleMaxAgeAndMinFresh,否則 MaxAge 不會設定 屬性。

這個建構函式會將 CacheSyncDate 屬性初始化為 cacheSyncDate,並將 屬性初始化 LevelDefault

適用於