日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nhibernate中的连接超时时事务回滚引发异常的处理方法

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nhibernate中的连接超时时事务回滚引发异常的处理方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做一個短信項目,采用的nhibernate+sqlserver。因為數據量大,所以采用多線程的方式。有時會觸發超時。當超時時事務再回滾也會觸發異常nhibernate Transaction not connected, or was disconnected,所以在回滾時再加一個trycatch語句,當然這不是最好的解決方法,需日后完善。代碼如下 :

?

public IList GetEntities(string strHQL)
??????? {
??????????? IList lst;
??????????? ISession session=null;
??????????? ITransaction transaction=null;
??????????? try
??????????? {
???????????????? session= SessionFactory.OpenSession(_AssemblyName);
???????????????? transaction= session.BeginTransaction();

??????????????? lst = session.CreateQuery(strHQL).List();
??????????????? transaction.Commit();
??????????????? //session.Close();
??????????????? return lst;
??????????? }
??????????? catch (Exception e)
??????????? {
??????????????? //bool b = transaction.WasRolledBack;
??????????????? //if(!session.IsConnected||!session.IsOpen)
??????????????? //{
??????????????? //??? session.Reconnect();
??????????????? //}

??????????????? //if (session!=null&&session.Connection.State!=ConnectionState&&transaction != null && transaction.IsActive)
??????????????? //??? transaction.Rollback();
??????????????? //bool b = session.IsConnected;
??????????????? //bool b1 = session.IsOpen;
??????????????? try
??????????????? {
??????????????????? if ( transaction != null && transaction.IsActive)
??????????????????????? transaction.Rollback();
??????????????? }
??????????????? catch (Exception e1)
??????????????? {
???????????????????
?????????????????? // throw;
??????????????? }

??????????????? return null;
??????????? }
??????????? finally
??????????? {
??????????????? if(session!=null)
??????????????????? session.Close();
??????????? }

??????? }

?

總結

以上是生活随笔為你收集整理的Nhibernate中的连接超时时事务回滚引发异常的处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。