Ninject で、NHibernate の ISession をメソッドにバインドしたい場合:
container.Bind<ISession>().ToMethod(CreateSession).InRequestScope();
メソッドは次のとおりです。
private ISession CreateSession(IContext context)
{
var sessionFactory = context.Kernel.Get<ISessionFactory>();
if (!CurrentSessionContext.HasBind(sessionFactory))
{
var session = sessionFactory.OpenSession();
CurrentSessionContext.Bind(session);
}
return sessionFactory.GetCurrentSession();
}
LightInject で同じことを行うにはどうすればよいですか?