zoukankan      html  css  js  c++  java
  • EF一次请求公用一个实例

    应用场景:

      我们在程序开发时,对数据库的操作是必不可少的部分,常规的做法是直接使用Using()语句块,在用完后立即释放连接资源,这种做法在桌面应用程序中毫无问题,但是在Web程序中,尤其是在当今大数据,高访问量的时代,响应速度成为了一个网站好坏的很作重要的衡量标准,我们也知道sqlserver的数据库连接其底层也是用socket技术实现的,那么就造成了数据库连接资源非常宝贵,那么怎么才能在web程序中充分利用这个宝贵的连接资源呢?

    解决方案:

     1 public class DbContextHelper
     2     {
     3         public static MyDbContext GetCurrentDbContext()
     4         {
     5             #region HttpContext 方式(内部有CallContext实现)
     6             //MyDbContext dbContext = HttpContext.Current.Items["MyDbContext"] as MyDbContext;
     7             //if (dbContext == null)
     8             //{
     9             //    dbContext = new MyDbContext();
    10             //    HttpContext.Current.Items.Add("MyDbContext", dbContext);
    11             //}
    12             //return dbContext;
    13             #endregion
    14 
    15             #region CallContex直接实现
    16             MyDbContext dbContext = CallContext.GetData("MyDbContext") as MyDbContext;
    17             if (dbContext == null)
    18             {
    19                 dbContext = new MyDbContext();
    20                 CallContext.SetData("MyDbContext", dbContext);
    21             }
    22             return dbContext;
    23             #endregion
    24         }
    25     }
    26     public class MyDbContext
    27     {
    28     }
  • 相关阅读:
    需求分析的方法与实践
    系统架构分析与设计方法论
    装修-3
    装修-2
    装修-1
    daikuan
    JAVA容器全面总结
    超图8C iserver启动成功,访问不了网站localhost:8090/iserver/manager,显示404
    Arcgis中给字段添加属性域
    arcgis for server搭建集群环境
  • 原文地址:https://www.cnblogs.com/saodiseng2015/p/5583281.html
Copyright © 2011-2022 走看看