Ich versuche, die Funktion InstanceScope.HttpSession von StructureMap zu verwenden, und es treten Probleme auf. Ich habe die folgende Methode verwende ich für den Test:Wie verwende ich InstanceScope.HttpSession in StructureMap?
public static class StructureMapTest {
public static T Get<T>() {
ObjectFactory.Configure(x => x.AddRegistry(new RepositoryRegistry()));
return ObjectFactory.GetInstance<T>();
}
}
Meine RepositoryRegistry Klasse sieht wie folgt aus:
public class RepositoryRegistry : Registry {
public RepositoryRegistry() {
ForRequestedType<IClientRepository>()
.CacheBy(InstanceScope.HttpSession)
.TheDefault.Is.OfConcreteType<ClientRepository>();
}
}
Also in meinem Client-Code (ASP.NET MVC-Controller) Ich mag etwas tun, das folgende:
Und jedes Mal, wenn ich diesen Controller sogar aus der gleichen Sitzung aufrufen, bekomme ich jedes Mal eine neue Instanz. Was mache ich hier falsch?
Haben Sie meine Antwort versucht? Ich habe dieses Problem nicht, und der Hauptunterschied ist, dass meine Konfiguration auf dem global.asax ist – eglasius