我看过很多关于如何在 Asp.Net MVC 中通过使用 ActionFilter 或通过 DI 包将会话注入控制器来为每个请求设置会话的帖子。我想知道的是,仅仅制作一个扩展方法会是一个坏主意/模式,比如:
public static ISession GetNHibernateSession(this Controller controller)
{
return SessionFactory.OpenSession();
}
以便可以在需要时实例化会话,例如:
public ActionResult DoSomething()
{
using( var session = this.GetNHibernateSession())
{
// Do something with the session
}
}
这可能是一个好/坏主意的原因将不胜感激