<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      將不確定變為確定~transactionscope何時提升為分布式事務?

      回到目錄

      相關文章

      將不確定變為確定~transactionscope何時提升為分布式事務

      將不確定變為確定~transactionscope何時提升為分布式事務~續      

      將不確定變為確定~transactionscope何時提升為分布式事務~再續(避免引起不必要的MSDTC)


       

             對于frameworks的TransactionScope大家應該都很熟悉了,它是一個分布式事務的語句塊,被包含起來的語句可以一起被提交,當出現異常后,統一進行回滾,這一切都是托管的。

      當WEB服務器沒有開啟MSDTC服務時,會出現這個提示:

      對于servers.msc中的MSDTC服務,它經常性的被掛掉

      注意一下:如果你的msdtc服務掛了,當下一次WWW程序需要用到它時,它會自由重啟。

      而對于你的事務塊,如果這個MSDTC服務被掛了后,如果你的事務塊中包含“跨庫”操作,它將會被自動提升到MSDTC分布式事務,

      這時你整個代碼塊將會中斷,并拋出你的異常!

       1     public abstract class DAL<T> : IDAL<T> where T : class
       2     {
       3 
       4         public DAL(DbContext db)
       5         {
       6             DB = db;
       7         }
       8 
       9 
      10         #region Properies
      11         /// <summary>
      12         /// 靜態上下文
      13         /// </summary>
      14         //  protected readonly static DbContext DB = new Entity.testEntities();
      15 
      16         /// <summary>
      17         /// 實例上下文
      18         /// </summary>
      19         protected DbContext DB;
      20 
      21         #endregion

       

       1       using (TransactionScope trans = new TransactionScope())
       2             {
       3                 try
       4                 {
       5                     base.Insert(entity);
       6                     entity.User_Profile.ID = entity.ID;
       7                     user_ProfileDAL.Insert(entity.User_Profile);
       8                     loginLogsDAL.Insert(new Entity.TestMSDTC.LoginLogs //跨庫操作
       9                     {
      10                         ID = entity.ID,
      11                         LoginName = entity.Name,
      12                     });
      13                     trans.Complete();
      14                 }
      15                 catch (Exception)
      16                 {
      17 
      18                     throw;
      19                 }
      20                 finally
      21                 {
      22                     trans.Dispose();
      23                 }
      24             }

      這時,你的程序由于服務器MSDTC的問題,整個流程被“走不通”,其時這是正常的,事務的作用就是為了保持“數據的完整性”,如果你把語句塊寫在同一事務中,那說明他們應該是同進同退的,這是一個理論的問題。

      而我在之前看過老趙寫過一個博文提到這個類似問題,看數據上下文的共享性會影響到事務被提升到MSTDC,我的測試告訴我,沒有實現這個結果,這里希望老趙給出一個答案吧,呵呵!在這里先謝謝趙老大了!

       回到目錄

      posted @ 2013-01-04 17:41  張占嶺  閱讀(2541)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲一区二区精品另类| 欧洲中文字幕一区二区| 91亚洲一线产区二线产区| 亚洲欧美高清在线精品一区二区| 久久99国产精品尤物| 国产农村老太xxxxhdxx| 综合久久av一区二区三区| 国产日韩欧美亚洲精品95| 国产成人片无码视频在线观看| 老鸭窝在线视频| 人妻熟妇乱又伦精品无码专区| 亚洲综合无码一区二区三区不卡| 午夜福利精品一区二区三区| 久久午夜无码免费| 少妇人妻偷人精品系列| 国产免费午夜福利在线播放| 日本福利一区二区精品| 国产毛片三区二区一区| 天堂av在线一区二区| 风韵丰满妇啪啪区老老熟女杏吧 | 亚洲日韩久热中文字幕| 久久国产成人av蜜臀| 欧美成人黄在线观看| 人妻少妇中文字幕久久| 日本边添边摸边做边爱喷水| 成人国产乱对白在线观看| 丰满人妻被黑人猛烈进入| 天堂中文在线资源| 粉嫩国产一区二区三区在线| 国产成人av电影在线观看第一页| 人妻中文字幕亚洲精品| 中文字幕人妻在线精品| 亚洲中文字幕无码一区无广告| 亚洲欧洲av一区二区| 国内精品大秀视频日韩精品| 亚洲欧美日韩在线不卡| 鲁山县| 99亚洲男女激情在线观看| 国产永久免费高清在线| 国产成人一区二区三区免费| 久久月本道色综合久久|