ASPを構成する.NET Core I分散キャッシュ
ASPも使用できます.NET Core とのセッション NCacheさん IDistributedCache
プロバイダー。 ASP.NET Core 提供する AddDistributedMemoryCache
のデフォルト実装を追加するメソッド I分散キャッシュ。 ただし、活用するには NCache ASP.NETセッションまたはオブジェクトを保存する分散キャッシュとして、 NCache 独自の拡張メソッドを提供し、 AddNCacheDistributedCache
、追加します NCache デフォルトの分散キャッシュとしての実装として IDistributedCache
.
前提条件
- に基づいて、アプリケーションに次の NuGet パッケージをインストールします。 NCache バージョン:
- 拡張機能を利用するには、次の名前空間をアプリケーションに含めます。 スタートアップ.cs:
- キャッシュが実行されている必要があります。
- APIの詳細については、以下を参照してください。 AddNCache分散キャッシュ, AddNCache分散キャッシュプロバイダー.
- 追加するデータが シリアライズ可能.
- 操作がフェイルセーフであることを保証するために、で説明されているように、アプリケーション内の潜在的な例外を処理することをお勧めします。 失敗の処理.
- 目に見えない例外を処理するには、を参照してください。 トラブルシューティング のセクションから無料でダウンロードできます。
ステップ1:サービスを構成する
NCache 提供する AddNCacheDistributedCache
拡張メソッド IServiceCollection
、のキャッシュ名のみが必要です NCache セッションを保存するためのオプションの設定。 構成オブジェクトは次と同じです NCache ASP.NET Core セッションプロバイダー。同様に初期化できます。 構成は次の方法で提供できます。 IOptions
イニシャライザも同様です。
構成を指定するには、次のXNUMXつの方法があります。
- でのアプリケーションを通じて スタートアップ.cs or
- JSON形式で アプリ設定.json アプリケーションの。
方法 1: Startup.cs で構成を指定する
Startup.cs を単一キャッシュ用に構成します。
AddNCacheDistributedCache
メソッドは、 AddDistributedCache
ASPが提供する方法.NET Core。 このメソッドは構成設定を取得します スタートアップ.cs アプリケーションのファイルを取得するか、指定された JSON ファイルからそれらを読み取ります。
次のメソッドとオプションを追加します スタートアップ.cs アプリケーションの:
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCache(configuration =>
{
configuration.CacheName = "demoCache";
configuration.EnableLogs = true;
configuration.ExceptionsEnabled = true;
});
}
複数のキャッシュ用に Startup.cs を構成します。
Note
この機能は NCache Enterprise のみ。
AddNCacheDistributedCacheProvider
の拡張です AddDistributedCache
ASPが提供する方法.NET Core。 このメソッドは、次の構成設定を取得します。 スタートアップ.cs アプリケーションの。 を使用して複数のキャッシュを設定できます。 AddNCacheDistributedCacheProvider
方法は次のとおりです。
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCacheProvider( options =>
{
options.CacheConfigurations = new NCacheConfiguration[] {
new NCacheConfiguration() {
CacheName = "demoClusteredCache",
EnableLogs = true,
ExceptionsEnabled = true
},
new NCacheConfiguration(){
CacheName = "demoCache",
EnableLogs = true,
ExceptionsEnabled = true }
};
});
}
方法2:Appsettings.jsonで構成を指定する
アプリケーション内の構成を JSON 形式で指定することもできます。 アプリ設定.json アプリケーションの。 この方法を使用すると、JSON 形式の構成を含むセクションの名前を指定することで構成を参照できます。 スタートアップ.cs.
単一キャッシュ用に Appsettings.json を構成します。 設定する アプリ設定.json アプリケーションのファイルを使用して単一のキャッシュを次のように構成します。
{
"AppSettings": {
"SiteTitle": "ASP.NET MVC Music Store",
"CacheDbResults": true,
},
"NCacheSettings": {
"CacheName": "demoCache",
"EnableLogs": "True",
"RequestTimeout": "90"
},
}
これらの設定については、 スタートアップ.cs 次のように:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCache(Configuration.GetSection("NCacheSettings"));
services.AddSession();
}
複数のキャッシュ用に Appsettings.json を構成します。
設定する アプリ設定.json アプリケーションのファイルを使用して、次のように複数のキャッシュを構成します。
"NCacheFactorySettings": {
"NCacheConfigurations": [
{
"CacheName": "demoClusteredCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
"CacheName": "demoCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
// Configure more caches
}
]
}
AddNCacheDistributedCacheProvider
を参照するメソッド NCacheFactorySettings
のセクション スタートアップ.cs:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCacheProvider(_config.GetSection("NCacheFactorySettings"));
services.AddSession();
}
ステップ 2: アプリケーションにミドルウェアを追加する
分散キャッシュがサービスに追加されると、セッションはデータを次の場所に保存できるようになります。 NCacheを選択します。 UseSession
ASPが提供する拡張メソッド.NET Core デフォルトのセッションミドルウェアをアプリケーションに追加しますが、 NCache そのキャッシュとして。
これで、に進むことができます つかいます NCache 基盤となるキャッシュとして あなたのASPのために.NET Core セッション。
構成プロパティ
分散キャッシュに固有の構成については、以下で説明します。
Job Status ページの下部にある CacheConnectionOptions API ドキュメント このクラスのプロパティの詳細については、を参照してください。
メンバー | タイプ | 説明 | デフォルト値 |
---|---|---|---|
CacheName |
string (必須) |
キャッシュ セッションに使用するキャッシュの名前を指定します。 キャッシュ名が指定されていない場合、構成例外がスローされます。 | - |
EnableLogs |
bool (オプション) |
このフラグが設定されている場合、 NCache すべてのエラー情報をログに記録します。 ログ ファイルは次の場所に作成されます。 %NCHOME%\log-files\SessionState (Windows)または /opt/ncache/log-files/SessionState (Linux)。 |
false |
EnableDetailLogs |
bool (オプション) |
このフラグが設定されている場合、 NCache すべてのデバッグ情報をログに記録します。 ログ ファイルは次の場所に作成されます。 %NCHOME%\log-files\SessionState (Windows)または /opt/ncache/log-files/SessionState (Linux)。 |
false |
ExceptionsEnabled |
bool (オプション) |
キャッシュ API からの例外をページ出力に伝播するかどうかを指定します。 このフラグの設定は、例外によって失敗の特定の原因に関する詳細情報が得られるため、アプリケーションの開発段階で特に役立ちます。 | false |
WriteExceptionsToEventLog |
bool (オプション) |
このフラグが設定されている場合、キャッシュAPIからのすべての例外がイベントログに書き込まれます。 | false |
RequestTimeout |
int |
クライアント要求のタイムアウトを秒単位で指定します。 | 90 |
OperationsRetry |
int (オプション) |
操作の実行中に接続が失われた場合に、サーバーが操作を再試行する回数を指定します。 | 0 |
OperationRetryInterval |
int (オプション) |
各操作の再試行間の時間間隔を指定します。 | 0 |
も参照してください
。ネット: Alachisoft.NCache.キャッシュ.分散 名前空間