マイクロソフトは支持しています ASP.NET Core レガシーを超えて ASP.NET 前者で将来のすべての開発を行う予定です。 つまり、ASP.NETは徐々に時代遅れになりつつあります。 したがって、開発者はASPに切り替えています.NET Core 将来のすべてのアップデートとテクノロジーのメリットを享受するため。
ただし、ASP.NETを長年使用しているユーザーは、この切り替えをスムーズに行うことができません。 代わりに、一部のアプリケーションをASPに切り替えます.NET Core それらのすべてではなく。 この構成は、XNUMXつのセッション共有を除くすべてのシナリオで機能します。 つまり、ユーザーはASP.NETセッションをASPで使用または保存できません。.NET Core アプリケーションおよびその逆。
解決策は、セッションを次のような分散キャッシュにキャッシュすることです。 NCache Webアプリケーション間のセッション共有を処理します。
NCache 詳細 NCache ASP.NETドキュメント NCache ASP.NET Core ドキュメント
を使用してセッションデータを共有する NCache
ASP.NETとASPの間でセッションデータを共有することはできません.NET Core アプリケーション。 これは、両方がセッションデータを異なる方法でシリアル化し、異なるデータ構造を使用するためです。 NCache を使用してセッションデータをキャッシュに保存することにより、これらの問題を克服します シリアル化方式 および暫定データ構造。 したがって、セッションデータをASP.NETとASP間で読み取り可能にする.NET Core 分野の様々なアプリケーションで使用されています。
を使用してセッション共有を構成するプロセス NCache も簡単です。 NuGetパッケージをダウンロードしてインストールするだけです。 NCache ASP.NETおよびASPを提供します.NET Core 構成ファイルにいくつかの変更を加えます。 以下の手順に従ってください。
NCache 詳細 NCache セッション共有ドキュメント 動的コンパクトシリアル化
ASP.NETおよびASP用のNuGetパッケージをインストールします.NET Core
最初のステップは、それぞれのNuGetパッケージをインストールすることです。 NCache ASP.NETとASP間のセッション共有を提供します.NET Core 分野の様々なアプリケーションで使用されています。 NCache AspNet.SessionStateを提供します。NCache NuGetパッケージ ASP.NETおよびAspNetCore.Sessionの場合。NCache NuGetパッケージ ASP用.NET Core.
ASP.NETアプリケーションを構成する
ASP.NETアプリケーション用のNuGetパッケージをインストールしたら、いくつかの変更を加える必要があります。 web.config アプリケーションのファイル。 下 sessionState
タグ、あなたは次のことを確認する必要があります cookieName
プロパティは、ASP.NETとASPの両方で同じ値を持ちます.NET Core 分野の様々なアプリケーションで使用されています。
下 providers
タグ、次のことを確認してください sessionAppId
アプリケーションと enableSessionSharing
プロパティには値があります true
。 これらのプロパティのいずれかが欠落している場合は、必ず追加してください。 サンプル構成を以下に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<sessionState ... customProvider="NCacheSessionProvider" cookieName="ASP.NET_CORE_SessionId" <providers> <add name="NCacheSessionProvider" type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider" enableSessionSharing="true" sessionAppId="NCacheSharedSessionApp" cacheName="myPartitionedCache" ... /> </providers> </sessionState> |
ASPを構成する.NET Core 申し込み
ASP用のNuGetパッケージをインストールしたら.NET Core アプリケーションでは、いくつかの変更を加える必要があります アプリ設定.json アプリケーションのファイル。 ASP.NETの場合と同様に、次のことを確認する必要があります CookieName
および SessionAppId
属性は、アプリケーションと EnableSessionSharing
属性の値はtrueです。
この後、あなたは使用する必要があります 拡張メソッド により提供さ NCache セッション共有用(後で説明します)。 サンプル アプリ設定.json ファイル構成を以下に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
"NCacheSettings": { "CacheName": "demoCache", //Replace "demoCache" with the name of your cache "SessionAppId": "NCacheSharedSessionApp", "EnableSessionLocking": false, "SessionLockingRetry": -1, "EnableLogs": false, "EnableDetailLogs": false, "ExceptionsEnabled": false, "OperationRetry": 0, "operationRetryInterval": 0, "EnableSessionSharing": true, // Default value is false "SessionOptions": { "CookieName": "ASP.NET_CORE_SessionId", // For session sharing the cookie name for the web applications needs to be the same. "CookieDomain": null, "CookiePath": "/", "CookieHttpOnly": "True", "IdleTimeout": "20", "CookieSecure": "None" } } |
NCache セッション共有の拡張メソッド
NCache は、大阪で 拡張メソッド ASP用.NET Core カスタムオブジェクトの追加とフェッチをサポートし、オブジェクトのシリアル化/逆シリアル化を自動的に処理するセッションインターフェイス。 これにより、バイナリ/ JSONコンバーターを使用したり、クライアント側でデータをシリアル化/逆シリアル化するためのコードを記述したりする必要がなくなります。
ユーザーがASP間のセッション共有を有効にしたい場合.NET Core およびASP.NETアプリケーションでは、これらの拡張メソッドを使用して、セッションデータを格納および取得する必要があります。 NCache ユーザーのASP間でのみオブジェクトを逆シリアル化およびシリアル化できます.NET Core およびASP.NETセッション(これらの拡張メソッドを使用する場合)。
次のコード例は、カスタムオブジェクトをASPに追加します.NET Core を使用したセッション Set
によって提供される方法 NCache ASPの拡張方法.NET Core.
1 2 3 4 5 |
string key = "ProductID:1001"; Product customObejct = GetProduct(1001); // Add custom object to session with against key HttpContext.Session.Set(key, customObject); |
次のコード例は、ASPからカスタムオブジェクトをフェッチします.NET Core を使用したセッション TryGetValue
によって提供される方法 NCache ASPの拡張メソッド.NET Core:
1 2 3 4 |
string key = "ProductID:1001"; // Fetch custom object against key it was added against ("ProductID:1001") HttpContext.Session.TryGetValue(key, out customObject); |
NCache 詳細 ASP.NET Core オブジェクトキャッシングドキュメント NCache セッション共有ドキュメント
を使用したセッション共有の利点 NCache
他のキャッシングベンダーや、ASP.NETとASP間のセッション共有のこの機能を提供しているベンダーは他にありません。.NET Core アプリケーションのみ NCache この機能を提供します。 それだけでなく NCache また、その構成は非常にシンプルで非侵襲的です。
ユーザーは、それぞれのNuGetパッケージをインストールし、それぞれの構成ファイルに変更を加えるだけです(web.config ASP.NETおよび アプリ設定.json ASP用.NET Core)、およびを使用します 拡張メソッド により提供さ NCache セッションを保存/取得します。 これら両方のWebフレームワークのユーザーは、この機能の恩恵を受け、両方のフレームワーク間でセッションデータをシームレスに共有できます。
まとめ
セッション共有のように、 NCache また、他の多くの豊富で効率的で、構成と使用が簡単です。 機能を使用 そのすべてのユーザーのために。 セッション共有は、他に固有の機能のXNUMXつです。 NCache 市場の他のどこにも存在しません。 私を信じないの? 意図に基づいて、適切なメッセージを適切なユーザーに適切なタイミングで NCache 今 自分でチェックしてください!
素晴らしいブログ! すべての人に役立つコンテンツです .NET core 開発者。
共有をありがとう!