方法: アプリケーションの場所ベースのキャッシュ ポリシーを設定します。
場所ベースのキャッシュ ポリシーを使用すると、要求されたリソースの場所を基にしてアプリケーションでキャッシュの動作を明示的に定義することができます。 このトピックでは、キャッシュ ポリシーをプログラムで設定する方法を示します。 構成ファイルを使用してアプリケーションのポリシーを設定する方法については、「<requestCaching> 要素 (ネットワーク設定)」を参照してください。
アプリケーションの場所ベースのキャッシュ ポリシーを設定するには
RequestCachePolicy または HttpRequestCachePolicy オブジェクトを作成します。
アプリケーション ドメインの既定値として、ポリシー オブジェクトを設定します。
要求されたリソースをキャッシュから取得するポリシーを設定するには
可能な場合は要求されたリソースをキャッシュから取得するポリシーを作成します。それ以外の場合は、キャッシュのレベルを CacheIfAvailable に設定して、サーバーに要求を送信します。 要求は、リモートのキャッシュを含めて、クライアントとサーバー間にある任意のキャッシュによって満たすことができます。
public static void UseCacheIfAvailable() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.CacheIfAvailable); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub UseCacheIfAvailable() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.CacheIfAvailable) HttpWebRequest.DefaultCachePolicy = policy End Sub
どのキャッシュもリソースを提供しないようにするポリシーを設定するには
どのキャッシュも要求されたリソースを提供しないようにするポリシーを作成するには、キャッシュ レベルを NoCacheNoStore に設定します。 このポリシー レベルは、リソースが存在する場合にローカル キャッシュからリソースを削除し、さらにリモート キャッシュにもリソースを削除するように指示します。
public static void DoNotUseCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.NoCacheNoStore); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub DoNotUseCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.NoCacheNoStore) HttpWebRequest.DefaultCachePolicy = policy End Sub
リソースがローカル キャッシュ内にある場合にのみ、要求されたリソースを返すポリシーを設定するには
リソースがローカル キャッシュ内にある場合にのみ、要求されたリソースを返すポリシーを作成するには、キャッシュ レベルを CacheOnly に設定します。 要求されたリソースがキャッシュにない場合、WebException 例外がスローされます。
public static void OnlyUseCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.CacheOnly); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub OnlyUseCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.CacheOnly) HttpWebRequest.DefaultCachePolicy = policy End Sub
ローカル キャッシュがリソースを提供しないようにするポリシーを設定するには
ローカル キャッシュが要求されたリソースを提供しないようにするポリシーを作成するには、キャッシュ レベルを Refresh に設定します。 要求されたリソースが中間のキャッシュに存在し、正常に再検証された場合は、中間のキャッシュが要求されたリソースを提供できます。
public static void DoNotUseLocalCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Refresh); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub DoNotUseLocalCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Refresh) HttpWebRequest.DefaultCachePolicy = policy End Sub
どのキャッシュも要求されたリソースを提供しないようにするポリシーを設定するには
どのキャッシュも要求されたリソースを提供しないようにするポリシーを作成するには、キャッシュ レベルを Reload に設定します。 サーバーによって返されるリソースは、キャッシュに格納できます。
public static void SendToServer() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Reload); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub SendToServer() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Reload) HttpWebRequest.DefaultCachePolicy = policy End Sub
サーバー上のリソースがキャッシュされたコピーよりも新しいバージョンではない場合に、要求されたリソースをキャッシュが提供することを許可するポリシーを設定するには
サーバー上のリソースがキャッシュされたコピーよりも新しいバージョンではない場合に、要求されたリソースをキャッシュが提供することを許可するポリシーを作成するには、キャッシュ レベルを Revalidate に設定します。
public static void CheckServer() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Revalidate); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub CheckServer() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Revalidate) HttpWebRequest.DefaultCachePolicy = policy End Sub
参照
.NET