2017-08-28 3 views
0

je reçois cette erreur lorsque vous utilisez le code ci-dessous directement dans une méthode:Aucune conversation actuelle disponible. Créer une conversation et de se lier au conteneur

var fooRepository = ServiceLocator.Current.GetInstance<FooRepository>(); 
var fooObj = fooRepository.GetFooObj(someText); //get Error 

Et le StackTrace contient:

à uNhAddIns.SessionEasier.Conversations.ThreadLocalConversationalSessionContext .CurrentSession() à NHibernate.Impl.SessionFactoryImpl.GetCurrentSession()

message d'erreur:

Aucune conversation actuelle disponible. Créez une conversation et liez-la au conteneur

Généralement comment Create a conversation and bind it to the container?

Répondre

0

Je ne sais pas pourquoi, mais trouve que, si je déclare le dépôt dans un modèle comme celui-ci

[PersistenceConversational(MethodsIncludeMode = MethodsIncludeMode.Implicit)] 
public class FooModel : IFooModel 

et déclare une méthode, utiliser mehod référentiel dans et renvoyer des données:

class FooModel 
{ 
    public FooObj ModelGetFooObj(string text) 
    { 
     return fooRepository.GetFooObj(text); 
    } 
} 

puis nouveau un FooModel et d'utiliser fooModel.ModelGetFooObj(text) pour obtenir des données, fonctionne très bien.