j'ai suivi ce tutoriel: http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspxAucune session liée au contexte actuel
Je ne reçois pas une « aucune session liée au contexte actuel » erreur en essayant de charger une page (3 mvc).
public static ISessionFactory BuildSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008 //
.ConnectionString(@"Server=.\SQLExpress;Database=db1;Uid=dev;Pwd=123;")
.ShowSql())
//.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
//.CurrentSessionContext<CallSessionContext>()
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<User>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(false, false))
.BuildSessionFactory();
}
L'erreur réelle est dans mon fichier Repository.cs:
Ligne 114: T virtuel public Get (id int) Ligne 115: { Ligne 116:. Retour _sessionFactory.GetCurrentSession() Inscrivez-vous (id); Ligne 117:} Ligne 118:
Lorsque je le déboguais, _sessionFactory n'était null ou null, il ne semble tout simplement pas trouver la session liée.
J'ai le httpmodule branché dans mon web.config, et il se lance donc ce n'est pas le problème.
Dans ma configuration de NHibernate, j'ai essayé les deux:
.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
et
.CurrentSessionContext<CallSessionContext>()
Mais cela ne fonctionne pas.
Quand vous dites "Dans ma configuration nhibernate, j'ai essayé les deux:", les exemples que vous donnez sont les mêmes. Pourriez-vous éditer votre question pour donner l'autre configuration que vous avez essayée! ^^ –
essayez également de définir un point d'arrêt à l'intérieur des méthodes 'CurrentSession()' et Bind (', pour vous assurer qu'elles sont appelées. –