Azure In-Role Cache での ASP.NET セッション状態プロバイダーの構成設定
重要
Microsoft では、すべての新しい開発で Azure Redis Cache を使用することをお勧めします。 Azure Cache オファリングの選択に関する最新のドキュメントとガイダンスについては、自分に適した Azure Cache オファリングを参照してください。
このトピックでは、ASP.NET 用の Azure セッション状態プロバイダーの構成設定について説明します。 これらの設定は、web.config ファイルの sessionState 要素の providers セクションで指定されます。
セッション状態の構成設定
属性 | [説明] |
---|---|
name (必須) |
プロバイダーを参照するために sessionState 要素によって使用されるプロバイダーの "フレンドリ" 名。 |
型 (必須) |
プロバイダーの .NET Framework 型文字列。 必要な値については、後述の注を参照してください。 |
cacheName (必須) |
Azure キャッシュの名前。 これは、 |
dataCacheClientName (省略可能) |
dataCacheClients 構成セクションから使用する dataCacheClient セクションの名前。 この属性は、web.config ファイルに複数の dataCacheClient セクションが指定されている場合にのみ必要です。 既定では、プロバイダーは dataCacheClient という名前 |
applicationName (省略可能) |
出力キャッシュ データを保存するためにキャッシュ キーを作成するときに、プロバイダーが使用する文字列値。 既定値は空の文字列です。 この属性が設定されていない場合、プロバイダーは内部的に使用するキャッシュ キーの一部として HttpRuntime.AppDomainAppId の値を使用します。 セッション状態機能とは異なり、通常は複数の ASP.NET アプリケーションで出力キャッシュ データを共有しません (たとえば、/contoso と /AdventureWorks は出力キャッシュ データを共有できません)。 共有するのではなく、同じアプリケーションの複数の物理インスタンスが、いずれも同じ出力キャッシュ データにアクセスできるようにします。 この場合、2 つの実行方法があります。
|
useBlobMode (省略可能) |
1 つのシリアル化された BLOB としてセッション状態データの読み込みと保存を行うかどうかを指定するブール値。 今回のリリースでは、この属性を既定値の |
nonInlinedAdditionalLifetime (サポートされていません) |
今回のリリースでは、この属性はサポートされていません。 |
retryInterval (省略可能) |
キャッシュと通信するときにエラーが発生した場合、再試行の間に待機する時間。 この値に使用する文字列の形式は |
retryCount (省略可能) |
キャッシュとの通信エラーが発生したときに、プロバイダーに再試行回数を通知する整数値。 ただし、再試行できない操作もあります。 再試行回数の既定値は 3 です。 プロバイダーは、各再試行の間に構成された retryInterval 時間をスリープ状態にします。 |
inlinedKeys (サポートされていません) |
今回のリリースでは、この属性はサポートされていません。 |
maxInlinedStringLength (サポートされていません) |
今回のリリースでは、この属性はサポートされていません。 |
注意
type 属性を .に設定する“Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache”
必要があります。
例
<configuration>
<configSections>
<section name="dataCacheClients"
type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core"
allowLocation="true" allowDefinition="Everywhere" />
<section name="cacheDiagnostics"
type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon"
allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<system.web>
<!-- Azure Caching session state provider -->
<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
<providers>
<add name="AFCacheSessionStateProvider"
type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
cacheName="default"
dataCacheClientName="default"
applicationName="AFCacheSessionState"/>
</providers>
</sessionState>
</system.web>
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="CacheWorkerRole1" />
</dataCacheClient>
</dataCacheClients>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>
</configuration>