2017-08-28 4 views
0

ich diese Fehlermeldung erhalten, wenn sie direkt Code verwenden, unten in einem Verfahren:Keine aktuelle Konversation verfügbar. Erstellen Sie ein Gespräch und binden Sie es an dem Behälter

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

Und die Stacktrace enthält:

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

Fehlermeldung:

Keine aktuelle Konversation verfügbar. Erstellen Sie eine Konversation und binden Sie sie an den Container

Allgemein wie zu Create a conversation and bind it to the container?

Antwort

0

Ich weiß nicht, warum, aber das finden, wenn ich das Repository in einem Modell wie dieses

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

und deklarieren Sie eine Methode verwenden Repository mehod darin und geben Daten erklären:

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

dann neu ein FooModel und fooModel.ModelGetFooObj(text) verwenden, um Daten zu erhalten, funktioniert gut.

Verwandte Themen