Ich erwäge, mit Unity die Lebensdauer einer benutzerdefinierten Benutzerklasseninstanz zu verwalten. Ich plane, den LifetimeManager mit einem benutzerdefinierten ASP.NET-Sitzungsmanager zu erweitern. Ich möchte das aktuell angemeldete Benutzerobjekt aus meinen benutzerdefinierten Klassen speichern und abrufen können und Unity die Instanz von User aus dem Sitzungsobjekt in ASP.NET holen oder (in einem Win32-Projekt) abrufen statisch oder aus dem aktuellen Thread.Verwenden der ASP.NET-Sitzung für die Lebensdauerverwaltung (Unity)
Bis jetzt ist meine beste Lösung, eine statische Instanz meines Unity-Containers beim Start zu erstellen und die Resolve-Methode zu verwenden, um mein Benutzerobjekt aus jeder meiner Klassen abzurufen. Dies scheint jedoch eine Abhängigkeit von dem Einheitscontainer in meinen anderen Klassen zu schaffen. Was ist der Weg der "Einheit", um dieses Ziel zu erreichen? Ich möchte die aktuelle Benutzerinstanz von jeder Klasse lesen/ersetzen können.
Was meinen Sie mit "einem benutzerdefinierten ASP.NET-Sitzungsmanager"? Sprechen Sie über eine NHibernate-Sitzung oder einen Data/ObjectContext? –