Frage

Ich arbeite an der Implementierung eines benutzerdefinierten Sitzungsstatus-Anbieters für meine ASP.NET-MVC-Anwendung.Meine Anforderung ist, dass ich die Sitzungsdaten als xml in einer benutzerdefinierten Tabelle in SQL Server speichern.

Kann ich den vorhandenen SQL-Sitzungsstatienten-Anbieter verwenden (überschreiben Sie einige Methoden) oder ich kann von Grund auf erstellen, indem ich den abstrakten Klassengenera SessionStateStoreProviderBase implementieren kann?

War es hilfreich?

Lösung

Warum verwenden Sie SQL Server nicht nur als staatliche Anbieter?Sie können es in der Konfiguration einstellen, und dies passiert automatisch, dann speichert SQL Server die Daten als serialisierte Binärdaten und ruft es effizient ab?

Die kurze Antwort lautet ja, Sie können, aber er erfährt das Rad erneut.Müssen Sie die Daten für alles andere verwenden oder sich selbst aus dem Prozess bearbeiten?Ich würde dazu neigen, einen separaten Prozess dafür zu verwenden.Sie werden ein bisschen Arbeit für sich selbst erstellen, um dies zu tun, und Sie würden es besser, die XML-Eigenschaft eines Tages zu retten, wenn Sie es in SessiOPN einstellen, wenn Sie es später ansehen müssen.

Erstellen Sie Ihr XML-Dokument ein Sitzungsobjekt

generasacodicetagpre.

Verwenden Sie dann die folgende Konfiguration, sodass sie in SQL Server gespeichert ist.

generasacodicetagpre.

Wenn Sie sich später ansehen müssen, speichern Sie es einfach mit der Festplatte mit der SessionID als Dateiname, um ihn einzigartig zu halten.

Andere Tipps

JA Sie können Ihre Klassenanbietersitzung auch mit SQL Server oder Oracle anpassen.Erben Sie einfach von einer Klasse in Ihrem Modell, die von SessionStateStoreProviderBase erbsen und die erforderlichen Methoden implementieren, die er sendet, überprüfen Sie die Liste der erforderlichen Methoden hier .

Wenn Sie ein Beispiel verwenden möchten, lesen Sie hier . Dieses Beispiel mit ODBC, aber ersetzen Sie jedoch einfach für die Zugriffsklasse als ODBCConnection auf SQLConnection und umgekehrt.

Viel Glück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top