mvc ビュー内で遅延データをフェッチしたい。
だから私はActionFilterAttribute
あなたが怒鳴るのを見ることができるように作成しました。
しかし、何らかの理由で、セッションは の前に終了しOnActionExecuted
ます。
理由はありますか?
送信
public class DatabaseTransactionAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
DatabaseConnector.GetTransaction();
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if(DatabaseConnector.GetCurrentSession().IsActive())
{
if(filterContext.Exception == null)
{
DatabaseConnector.GetCurrentSession().Commit();
}
else
{
DatabaseConnector.GetCurrentSession().MarkForRollBack();
}
}
}
}