Microsoft favorisiert ASP.NET Core über das Erbe ASP.NET und plant, alle zukünftigen Entwicklungen im ersteren durchzuführen. Das heißt, ASP.NET wird langsam veraltet. Daher wechseln Entwickler zu ASP.NET Core um die Vorteile aller zukünftigen Updates und Technologien zu nutzen.
Aber Benutzer, die ASP.NET schon seit Jahren verwenden, können diesen Wechsel nicht so reibungslos durchführen. Stattdessen stellen sie einige ihrer Anwendungen auf ASP um.NET Core und nicht alle. Diese Konfiguration funktioniert für alle Szenarios außer einem, der Sitzungsfreigabe. Das bedeutet, dass die Benutzer keine ASP.NET-Sitzungen in ASP verwenden oder speichern können.NET Core Anwendungen und umgekehrt.
Die Lösung besteht darin, Sitzungen in einem verteilten Cache zwischenzuspeichern, z NCache und lassen Sie es die Sitzungsfreigabe zwischen Ihren Webanwendungen für Sie übernehmen.
NCache Details NCache ASP.NET-Dokumente NCache ASP.NET Core Docs
Sitzungsdaten teilen mit NCache
Sitzungsdaten können nicht zwischen ASP.NET und ASP geteilt werden.NET Core Anwendungen. Dies liegt daran, dass beide ihre Sitzungsdaten unterschiedlich serialisieren und unterschiedliche Datenstrukturen verwenden. NCache überwindet diese Probleme, indem Sitzungsdaten mithilfe von im Cache gespeichert werden Serialisierungsmethode und eine vorläufige Datenstruktur. Dadurch können Sitzungsdaten in ASP.NET und ASP gelesen werden.NET Core um weitere Anwendungsbeispiele zu finden.
Der Prozess zum Konfigurieren der Sitzungsfreigabe mithilfe NCache ist auch einfach. Sie müssen lediglich die NuGet-Pakete herunterladen und installieren NCache Bietet ASP.NET und ASP.NET Core und nehmen Sie einige Änderungen in den Konfigurationsdateien vor. Befolgen Sie einfach die folgenden Schritte:
NCache Details NCache Dokumente zur Sitzungsfreigabe Dynamische kompakte Serialisierung
Installieren Sie NuGet-Pakete für ASP.NET und ASP.NET Core
Der erste Schritt besteht darin, die entsprechenden NuGet-Pakete zu installieren NCache ermöglicht die Sitzungsfreigabe zwischen ASP.NET und ASP.NET Core um weitere Anwendungsbeispiele zu finden. NCache stellt den AspNet.SessionState bereit.NCache NuGet-Paket für ASP.NET und die AspNetCore.Session.NCache NuGet-Paket für ASP.NET Core.
Konfigurieren Sie die ASP.NET-Anwendung
Nachdem Sie das NuGet-Paket für Ihre ASP.NET-Anwendung installiert haben, müssen Sie einige Änderungen daran vornehmen web.config Datei Ihrer Bewerbung. Unter dem sessionState
Tag müssen Sie sicherstellen, dass die cookieName
Die Eigenschaft hat für ASP.NET und ASP den gleichen Wert.NET Core um weitere Anwendungsbeispiele zu finden.
Unter dem providers
Tag, stellen Sie sicher, dass sessionAppId
hat für beide Anwendungen den gleichen Wert und die enableSessionSharing
Eigenschaft hat den Wert true
. Wenn eine dieser Eigenschaften fehlt, fügen Sie sie unbedingt hinzu. Nachfolgend finden Sie eine Beispielkonfiguration:
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 konfigurieren.NET Core Anwendung
Sobald Sie das NuGet-Paket für Ihren ASP installiert haben.NET Core Anwendung müssen Sie einige Änderungen daran vornehmen appsettings.json Datei Ihrer Bewerbung. Genau wie bei ASP.NET müssen Sie sicherstellen, dass die CookieName
und SessionAppId
Attribute haben für beide Anwendungen und den gleichen Wert EnableSessionSharing
Das Attribut hat den Wert true.
Danach müssen Sie die verwenden Erweiterungsmethoden Zur Verfügung gestellt von NCache für die Sitzungsfreigabe (später erklärt). Eine Probe appsettings.json Die Dateikonfiguration ist unten angegeben:
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 Erweiterungsmethoden für die Sitzungsfreigabe
NCache bietet Erweiterungsmethoden für den ASP.NET Core Sitzungsschnittstelle, die das Hinzufügen und Abrufen benutzerdefinierter Objekte unterstützt und die Serialisierung/Deserialisierung von Objekten automatisch für Sie übernimmt. Dadurch entfällt die Notwendigkeit, Binär-/JSON-Konverter zu verwenden oder Code zum Serialisieren/Deserialisieren von Daten auf der Client-Seite zu schreiben.
Wenn der Benutzer die Sitzungsfreigabe zwischen ASP aktivieren möchte.NET Core und ASP.NET-Anwendungen müssen sie diese Erweiterungsmethoden verwenden, um ihre Sitzungsdaten zu speichern und abzurufen. NCache kann nur Objekte zwischen dem ASP des Benutzers deserialisieren und serialisieren.NET Core und ASP.NET-Sitzungen, wenn sie diese Erweiterungsmethoden verwenden.
Das folgende Codebeispiel fügt dem ASP ein benutzerdefiniertes Objekt hinzu.NET Core Sitzung mit der Set
Methode, die von der bereitgestellt wird NCache Erweiterungsmethode für 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); |
Das folgende Codebeispiel ruft ein benutzerdefiniertes Objekt von einem ASP ab.NET Core Sitzung mit der TryGetValue
Methode, die von der bereitgestellt wird NCache Erweiterungsmethoden für 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 Details ASP.NET Core Dokumentation zum Objekt-Caching NCache Dokumente zur Sitzungsfreigabe
Vorteile der Sitzungsfreigabe NCache
Kein anderer Caching-Anbieter oder anderweitig bietet diese Funktion der Sitzungsfreigabe zwischen ASP.NET und ASP.NET Core Nur Anwendungen NCache bietet diese Funktion. Nicht nur das, sondern NCache hat auch seine Konfiguration sehr einfach und nicht-invasiv gestaltet.
Der Benutzer muss lediglich die entsprechenden NuGet-Pakete installieren und Änderungen in den jeweiligen Konfigurationsdateien vornehmen (web.config für ASP.NET und appsettings.json für ASP.NET Core) und verwenden Sie die Erweiterungsmethoden Zur Verfügung gestellt von NCache um ihre Sitzungen zu speichern/abzurufen. Benutzer dieser beiden Web-Frameworks können von dieser Funktion erheblich profitieren und ihre Sitzungsdaten nahtlos über beide Frameworks hinweg teilen.
Zusammenfassung
Wie Sitzungsfreigabe, NCache bietet auch viele andere umfangreiche, effiziente und einfach zu konfigurierende und zu verwendende Funktionen Funktionen für alle seine Benutzer. Die Sitzungsfreigabe gehört zu den anderen einzigartigen Funktionen von NCache und gibt es sonst nirgendwo auf dem Markt. Glauben Sie mir nicht? MIT DER INTELLIGENTEN SCHADENKALKULATION VON NCache jetzt an und überzeugen Sie sich selbst!
Toller Blog! Es sind nützliche Inhalte für alle .NET core Entwickler.
Thanks for sharing!