gpt4 book ai didi

c# - 每个请求缓存 Entity Framework DbContexts

转载 作者:太空狗 更新时间:2023-10-29 22:17:06 25 4
gpt4 key购买 nike

我有几个基于 System.Entity.Data.DbContext 的类。它们在 Web 应用程序的不同端多次使用请求 - 实例化它们的成本高吗?

我在 HttpContext.Current.Items 中缓存了它们的一个副本,因为每个请求都有多个副本感觉不对,但我现在发现它不会从 HttpContext 中自动处理请求结束。在我开始编写代码来处理它之前(在 Application_EndRequest 中),我想我应该重新解决这个问题,因为如果我应该只是在我需要它们的地方实例化它们然后在那里处理它们,那么缓存它们真的没有意义。

类似的问题已在互联网上问过,但我似乎找不到能准确回答我的问题的问题。对不起,如果我重复某人的话。

更新

我发现在 this 中处理上下文可能并不重要博客文章,但我仍然很想知道首先实例化它们是否很昂贵。基本上,幕后是否有很多我想避免经常做的 EF 魔术?

最佳答案

最好的办法是使用 IoC 容器来管理这里的生命周期——它们非常非常擅长,这是很常见的场景。具有使动态调用变得容易的附加优势——这意味着对样式表的请求不会创建数据库上下文,因为它是在 BeginRequest() 中硬编码的。

关于c# - 每个请求缓存 Entity Framework DbContexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com