[asp.NET] Eigenes Objekt in Session speichern

Patrick Kamin

Erfahrenes Mitglied
Hallo Community,

ich sitze hier gerade an einem asp.net Projekt und komme an einer Stelle nicht mehr weiter. Ich habe ein System, welches sich aus mehreren Klassen zusammensetzt. Ich möchte nun Objekte in einer Session speichern, ohne sie vorher zu serialisieren, sondern komplett das ganze Objekt.

Ich habe gelesen, dass dies über die globale Datei asax mit dem Object Tag realisiert werden kann, dafür müssen die Klassen allerdings in kompilierter Form im bin Verzeichnis des Web-Projektes abgelegt werden. Leider steht mir der VS.net Compiler nicht zur Verfügung, weswegen ich mit Server-Includes arbeiten muss.

Habt ihr eine Idee, wie ich dieses Problem in den Griff bekommen kann? Habe eigentlich keine Lust mir einen Workaround zu schreiben, um meine Objekte irgendwie in die Session zu stopfen.


Vielen Dank schon mal im vorraus

mit besten Grüßen
Patrick
 

chironex

Erfahrenes Mitglied
Ich verstehe Dein Problem nicht ganz. Du brauchst Dein Objekt nur an das Session-Objekt zu übergeben.

private objekttyp objekt = new objekttyp(blabla);
Session["mySessVar"] = objekt;

und zum Auslesen dann halt wieder

private objekttyp objekt
objekt = (objekttyp)Session["mySessVar"];
 

Patrick Kamin

Erfahrenes Mitglied
Hi chironex,

danke für deinen Denkanstoß. Hatte schon vor einiger Zeit versucht, dass ganze mit einem einfachen Typcast zu machen, hatte aber nur noch in Erinnerung, dass es nicht funktioniert hat. Nach deinem Post habe ich es nochmal versucht, und schau an, auf einmal läuft alles wunderbar.

Dank dir für deine Hilfe.

Schönen Tag noch

gruß Patrick
 

Patrick Kamin

Erfahrenes Mitglied
Hallo,

mein Problem scheint doch noch nicht ganz gelöst zu sein. Ich kann mein Objekt zwar in einer Session speichern und auch wieder drauf zugreifen, jedoch nur von der gleichen Seite, wo ich das Objekt vorher gespeichert habe.

Wenn ich auf einer anderen Seite das Objekt aus der Session holen will, schmeißt er mir beim Typcast einen Fehler.

Ein Cast in die Klasse Object funktioniert einwandfrei, die toString-Methode darauf angewendet, schmeißt ASP_SeitenameWoObjektInSessionGeschrieben_ASPX+Klassenname.

Vielleicht hat jemand eine Idee, wie ich hier weiter komme.

Mit besten Grüßen
Patrick
 

Patrick Kamin

Erfahrenes Mitglied
Hi,

habe mein Problem inzwischen selber lösen können. Ich bin davon ausgegangen, dass man das Visual Studio benötigt, um DLLs aus seinem Code zu kompilieren. Die Compiler sind jedoch auch beim NET SDK dabei.

Habe jetzt also meinen Code zu einer Library kompiliert und somit meine Klassen über die globale asax-Datei in den Session Scope gepackt.

Problem erkannt, Problem gelöst.

Trotzdem ein Dankeschön an euch ;)


viele Grüße Patrick
 

Neue Beiträge