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

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

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

      實現自動拋棄當前數據庫上下文的模塊。支持各種ORM框架并存

      一:OrmContextAutoDisposeModule.cs

      EventHandler PostRequestHandlerExecute

      MSDN:在 ASP.NET 事件處理程序(例如,某頁或某個 XML Web service)執行完畢時發生。

       

      也就是說注冊這個事件的方法可以做一些頁面執行完畢的清理工作。如果頁面中引入了某個DBContext或者是DataContext,一般情況下這些數據庫資源是需要釋放的,好處很多就不多少了。注冊這個事件,可以在頁面執行完畢時統一進行一些清理的工作。因此程序員在編程的時候也沒有必要做一些using的資源釋放的活了。


       
       
      namespace  MyCompanyName.WebHelpers

      ///<summary>/// 實現自動拋棄當前數據庫上下文的模塊。
      ///</summary>publicsealedclass OrmContextAutoDisposeModule : IHttpModule
      {
          #region IHttpModule 成員
          public void Init(HttpApplication context)
          {
              context.PostRequestHandlerExecute += new EventHandler(Enter);
          }

          public void Dispose()
          {
          }
          #endregion

          private void Enter(object sender, EventArgs e)
          {

      // DataContext或DBContext是以鍵值對的形式存在了Items中,Items是HttpContext很重要的數據存儲單位 

              IDictionary httpContextItems = HttpContext.Current.Items;

       

      // 獲取DBContext 或 DataContext 或 ObjectContext
              List<object> keys = new List<object>(httpContextItems.Count);
              foreach (DictionaryEntry item in httpContextItems)
              {
                  if (item.Value is DataContext || item.Value is ObjectContext || item.Value is DbContext)
                  {
                      ((IDisposable)item.Value).Dispose();
                      keys.Add(item.Key);
                  }
              }

              foreach (object key in keys)
              {
                  httpContextItems.Remove(key);
              }
          }
      }

       

      二.在Web.config文件中注冊Module

              <httpModules>
                  <add name="OrmContextAutoDisposeModule" type="MyCompanyName.WebHelpers.OrmContextAutoDisposeModule, MyCompanyName.WebHelpers"/>
              </httpModules> 

       

      三:OrmContextFactory.cs 

      public static class OrmContextFactory
      {
          public static TDataContext GetDataContext<TDataContext>()
              where TDataContext : DataContext, new()
          {
              HttpContext httpContext = HttpContext.Current;
              if (httpContext != null)
              {
                  string key = typeof(TDataContext).FullName;

                  TDataContext dataContext = httpContext.Items[key] as TDataContext;
                  if (dataContext == null)
                  {
                      dataContext = new TDataContext();
                      httpContext.Items[key] = dataContext;
                  }
                  return dataContext;
              }

              return new TDataContext();
          }

          public static TObjectContext GetObjectContext<TObjectContext>()
              where TObjectContext : ObjectContext, new()
          {
              HttpContext httpContext = HttpContext.Current;
              if (httpContext != null)
              {
                  string key = typeof(TObjectContext).FullName;

                  TObjectContext objectContext = httpContext.Items[key] as TObjectContext;
                  if (objectContext == null)
                  {
                      objectContext = new TObjectContext();
                      httpContext.Items[key] = objectContext;
                  }
                  return objectContext;
              }

              return new TObjectContext();
          }

          public static TDbContext GetDbContext<TDbContext>()
              where TDbContext : DbContext, new()
          {
              HttpContext httpContext = HttpContext.Current;
              if (httpContext != null)
              {
                  string key = typeof(TDbContext).FullName;

                  TDbContext dbContext = httpContext.Items[key] as TDbContext;
                  if (dbContext == null)
                  {
                      dbContext = new TDbContext();
                      httpContext.Items[key] = dbContext;
                  }
                  return dbContext;
              }

              return new TDbContext();
          }
      }

       

      posted @ 2012-05-07 12:22  純粹的郭子  閱讀(755)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 太谷县| 欧美大胆老熟妇乱子伦视频| 国产精品免费第一区二区| 婷婷精品国产亚洲av在线观看 | 亚洲伊人久久综合影院| 国产伦子沙发午休系列资源曝光| 国产精品第一页中文字幕| 国产午夜美女福利短视频| 亚洲精品国偷自产在线99人热| 色av专区无码影音先锋| 龙游县| 99精品国产中文字幕| 日韩精品久久久肉伦网站| 亚洲精品777| 国产系列高清精品第一页| 极品少妇的粉嫩小泬视频| 熟女熟妇乱女乱妇综合网| 免费国产一区二区不卡| 国产999久久高清免费观看| 伊人精品成人久久综合97| 在线中文字幕第一页| 中文文字幕文字幕亚洲色| 日日躁夜夜躁狠狠久久av| 国模在线视频一区二区三区| 国产亚洲一二三区精品| 日韩av综合中文字幕| 成人无码视频| 欧美精品一区二区三区中文字幕| 蜜臀98精品国产免费观看| 特黄特色的大片观看免费视频| 色吊丝av熟女中文字幕| 日本黄页网站免费观看| 久久久亚洲欧洲日产国码农村| 色综合五月伊人六月丁香| 狠狠色婷婷久久综合频道日韩| 色综合久久精品中文字幕| 亚洲高潮喷水无码AV电影| 欧洲免费一区二区三区视频| 亚洲无av在线中文字幕| 欧美福利在线| 国产激情文学亚洲区综合|