在ASP.Net上为每个Web请求创建dbcontext的成本
发布时间:2020-12-16 07:20:04 所属栏目:asp.Net 来源:网络整理
导读:我在我的asp.net Web应用程序中使用工作单元和存储库模式以及EF6.每次请求都会创建和销毁DbContext对象. 我认为在每个请求上创建新的dbcontext代价很高(我没有做任何性能基准测试). 是否可以忽略在每个请求上创建DbContext的成本?有人做过一些台架标记吗?
我在我的asp.net Web应用程序中使用工作单元和存储库模式以及EF6.每次请求都会创建和销毁DbContext对象.
我认为在每个请求上创建新的dbcontext代价很高(我没有做任何性能基准测试). 是否可以忽略在每个请求上创建DbContext的成本?有人做过一些台架标记吗? 解决方法
实体框架不是线程安全的,这意味着您不能在多个线程中使用上下文. IIS为发送到服务器的每个请求使用一个线程.鉴于此,您必须为每个请求设置一个上下文.否则,您会遇到无法解释和看似随机异常的主要风险,并且可能会将不正确的数据保存到数据库中.
最后,上下文创建并不是一项昂贵的操作.如果您遇到缓慢的应用程序体验(不是在首次启动时,而是在使用该站点之后),您的问题可能就在其他地方. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 无法获得有效的Unity Session Lifetime Man
- asp.net-mvc – 用于轻量级内容编辑的MVC 5自定义HtmlHelpe
- asp.net – 在IE10中不应该“X-UA兼容IE =边缘”头覆盖“兼
- asp.net-mvc – 如何解决异常“文件不存在”?
- .NET牛人应该知道些什么,我的回答
- ASP.NET ASCX使用实例变量
- asp.net – RouteTable.Routes和HttpConfiguration.Routes之
- asp.net-mvc-2 – 在MVC中实现自定义标识和IPrincipal
- asp.net-mvc – 将DataTable从控制器传递到PartialView
- asp.net – 在Html.BeginForm之外提交按钮
推荐文章
站长推荐
热点阅读