加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在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为发送到服务器的每个请求使用一个线程.鉴于此,您必须为每个请求设置一个上下文.否则,您会遇到无法解释和看似随机异常的主要风险,并且可能会将不正确的数据保存到数据库中.

最后,上下文创建并不是一项昂贵的操作.如果您遇到缓慢的应用程序体验(不是在首次启动时,而是在使用该站点之后),您的问题可能就在其他地方.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读