ActionFilterを使用するか、DIパッケージを使用してセッションをコントローラーに挿入することにより、Asp.NetMVCで要求ごとにセッションをセットアップする方法に関する多くの投稿を見てきました。私が知りたかったのは、次のような拡張メソッドを作成するのは悪い考え/パターンでしょうか?
public static ISession GetNHibernateSession(this Controller controller)
{
return SessionFactory.OpenSession();
}
次のように、必要なときにセッションをインスタンス化できるようにします。
public ActionResult DoSomething()
{
using( var session = this.GetNHibernateSession())
{
// Do something with the session
}
}
これが良い/悪いアイデアである理由は大いに評価されます