StructureMap CacheBy InstanceScope.HttpSession non funziona
-
20-08-2019 - |
Domanda
Questo è il mio bootstrap di StructureMap:
ObjectFactory.Initialize(factory =>
{
//Business Conversation is per session
factory.ForRequestedType<IConversation>().
TheDefaultIsConcreteType<Conversation>().
CacheBy(InstanceScope.HttpSession);
//Session Factory is life time
factory.ForRequestedType<INHibernateSessionManager>().
TheDefaultIsConcreteType<NHibernateSessionManager>().
CacheBy(InstanceScope.Singleton);
});
var conversation = ObjectFactory.GetInstance<IConversation>();
Quando ho la mia conversazione impostata per usare .CacheBy (InstanceScope.HttpSession), ottengo il riferimento all'oggetto non trovato, tuttavia se non uso CacheBy funziona bene. Questo deve andare nella sessione, non sono davvero sicuro del motivo per cui non funziona.
Sto facendo qualcosa di sbagliato o questo sembra essere un bug in StructureMap?
Soluzione
Per rispondere alla mia domanda, sì, questo è un bug in StructureMap. Il bug è stato corretto nel trunk o verrà risolto in qualsiasi versione binaria di 2.5.3 o successive.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow