HttpRequestCachePolicy 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 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 類別的新執行個體。
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 類別的新執行個體。
public:
HttpRequestCachePolicy(DateTime cacheSyncDate);
public HttpRequestCachePolicy (DateTime cacheSyncDate);
new System.Net.Cache.HttpRequestCachePolicy : DateTime -> System.Net.Cache.HttpRequestCachePolicy
Public Sub New (cacheSyncDate As 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 屬性初始化為 Default。 CacheSyncDate 屬性會初始化為 cacheSyncDate
。
適用於
HttpRequestCachePolicy(HttpRequestCacheLevel)
使用指定的快取原則,初始化 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 類別的新執行個體。
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 列舉值:MaxAge、MaxStale 或 MinFresh。
例外狀況
為 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 類別的新執行個體。
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
例外狀況
指定給 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
來設定 屬性。
請注意,除非您指定 MaxAgeAndMaxStale 或 MaxAgeAndMinFresh,否則 MaxAge 不會設定 屬性。
這個建構函式會將 Level 屬性初始化為 Default。
適用於
HttpRequestCachePolicy(HttpCacheAgeControl, TimeSpan, TimeSpan, DateTime)
使用指定的最長保留期限、保留期限控制選項、時間值和快取同步處理日期,初始化 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
範例
下列程式代碼範例示範如何根據最小有效期限、最長存留期和快取同步處理日期來建立快取原則。
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
來設定 屬性。
請注意,除非您指定 MaxAgeAndMaxStale 或 MaxAgeAndMinFresh,否則 MaxAge 不會設定 屬性。
這個建構函式會將 CacheSyncDate 屬性初始化為 cacheSyncDate
,並將 屬性初始化 Level 為 Default。