ASP.NET キャッシュ統合

AspNetCachingIntegration サンプルでは、WCF WEB HTTP プログラミング モデルで ASP.NET 出力キャッシュを利用する方法を示します。 ここでは、ASP.NET 出力キャッシュ統合機能について集中的に説明します。

対象

ASP.NET 出力キャッシュとの統合。

ディスカッション

このサンプルでは、AspNetCacheProfileAttribute を使用して、Windows Communication Foundation (WCF) サービスで ASP.NET 出力キャッシュを使用します。 AspNetCacheProfileAttribute は、サービス操作に適用される属性で、特定の操作からの応答に適用する構成ファイル内のキャッシュ プロファイルの名前を指定します。

このサンプルの Service プロジェクトの Service.cs ファイルでは、GetCustomer および GetCustomers 操作がどちらも AspNetCacheProfileAttribute でマークされ、キャッシュ プロファイル名として "CacheFor60Seconds" が指定されています。 キャッシュ プロファイル "CacheFor60Seconds" は、Service プロジェクトの Web.config ファイルで、<system.web><caching> 要素の下で定義されています。 このキャッシュ プロファイルの duration 属性の値は "60" であるため、このプロファイルに関連付けられた応答は、ASP.NET 出力キャッシュに 60 秒間キャッシュされます。 また、このキャッシュ プロファイルの varmByParam 属性が "format" に設定されているため、format クエリ文字列パラメーターの値が異なる要求の応答は別々にキャッシュされます。 さらに、キャッシュ プロファイルの varyByHeader 属性が "Accept" に設定されているため、Accept ヘッダーの値が異なる要求の応答は別々にキャッシュされます。

Client プロジェクトの Program.cs では、HttpWebRequest を使用してこのようなクライアントを作成する方法を示します。 これは、WCF サービスにアクセスする 1 つの方法にすぎません。 WCF チャネル ファクトリや WebClient などの他の .NET Framework クラスを使用してサービスにアクセスすることもできます。 SDK の他のサンプル (「基本的な HTTP サービス」のサンプルなど) は、これらのクラスを使用して WCF サービスと通信する方法を示しています。

サンプルを実行するには

このサンプルは、3 つのプロジェクトで構成されます。

  • Service: ASP.NET でホストされる WCF HTTP サービスを含む Web アプリケーション プロジェクト。

  • Client: サービスを呼び出すコンソール アプリケーション プロジェクト。

  • Common: クライアントとサービスによって使用される Customer 型を含む共有ライブラリ。

クライアント コンソール アプリケーションが実行されると、クライアントはサービスに要求を発行し、応答からの適切な情報をコンソール ウィンドウに書き込みます。

サンプルを実行するには

  1. ASP.NET キャッシュ統合サンプルのソリューションを開きます。

  2. Ctrl+Shift+B キーを押して、ソリューションをビルドします。

  3. ソリューション エクスプローラー ウィンドウがまだ開いていない場合は、Ctrl キーを押しながら W キーと S キーを押します。

  4. ソリューション エクスプローラー ウィンドウで、Service プロジェクトを右クリックし、 [新しいインスタンスを開始] を選択します。 これで、サービスをホストする ASP.NET 開発サーバーが起動します。

  5. ソリューション エクスプローラー ウィンドウで、Client プロジェクトを右クリックし、 [新しいインスタンスを開始] を選択します。

  6. クライアント コンソール ウィンドウが表示されて、実行中のサービスの URI および実行中のサービスの HTML ヘルプ ページの URI が示されます。 ブラウザーでヘルプ ページの URI を入力することで、いつでも HTML ヘルプ ページを表示することができます。

  7. サンプルが実行されると、クライアントは現在のアクティビティのステータスを書き込みます。

  8. クライアント コンソール アプリケーションを終了するには、任意のキーを押します。

  9. サービスのデバッグを停止するには、Shift キーを押しながら F5 キーを押します。

  10. Windows の通知領域で、ASP.NET 開発サーバーのアイコンを右クリックし、 [停止] を選択します。