Управление сессиями NHibernate с Ninject - PullRequest
1 голос
/ 27 августа 2010

Это действительно все, что мне нужно сделать, чтобы получить сеанс для каждого запроса с Ninject?

public class WebModule : NinjectModule
{
    public override void Load()
    {            
        Bind<ISession>().ToMethod(x => MvcApplication.SessionFactory.OpenSession()).InRequestScope();            
    }
}

Global.asax:

public class MvcApplication : NinjectHttpApplication
{
    public static ISessionFactory SessionFactory = CreateSessionFactory();

    public static void RegisterRoutes(RouteCollection routes) { /* Routing Stuff */ }

    protected override void OnApplicationStarted()
    {
        AreaRegistration.RegisterAllAreas();
        RegisterRoutes(RouteTable.Routes);
    }

    protected override void OnApplicationStopped()
    {
        SessionFactory.Dispose();
    }

    protected static ISessionFactory CreateSessionFactory() { /* session factory stuff */ }

    protected override IKernel CreateKernel()
    {
        return new StandardKernel(new WebModule());
    }
}

Что-то не так с этим? Это кажется слишком простым.

1 Ответ

1 голос
/ 27 августа 2010

После прочтения этого поста Я решил не делать это таким образом.Если кто-то не заговорит, я просто сделаю это по старинке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...