Bro*_*nie 9 asp.net nhibernate
我在网上看到很多人在HttpModule中管理他们的NHibernate会话和事务.
HttpModule:
如果人们使用此策略,他们如何处理以下场景:
在上面的场景中似乎没有好的方法来回滚事务.我能想出的唯一计划是:
看到有这么多人似乎在使用HttpModule方法,我希望有第三种管理这种情况的方法,我没想过?
您可以使用某种全局异常处理。现在我正在使用System.AppDomain.CurrentDomain.UnhandledException
. 在此处理程序中,您需要调用Transaction.Rollback()
; 并且还考虑设置一些标志(也仅在当前请求期间存在),该标志将指出您是否需要提交事务或回滚。这样可以让代码更加清晰。
编辑
或者您可以使用错误事件HttpApplication
public class HelloWorldModule : IHttpModule
{
void Init(HttpApplication application)
{
application.BeginRequest +=
(new EventHandler(this.Application_BeginRequest));
application.EndRequest +=
(new EventHandler(this.Application_EndRequest));
//this is it
applicaiton.Error +=
(new EventHandler(this.Application_Error));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
713 次 |
最近记录: |