gpt4 book ai didi

c# - 在高负载 Web 应用程序中正确使用 Entity Framework

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:17 27 4
gpt4 key购买 nike

通常与 EF 一起工作看起来像这样:

某些 Web Controller 调用具有如下内容的方法:

using (var ctx = new EntityContext())
{
...
return something;
}

但我猜想在每分钟有数千个请求的高负载应用程序中,它可能会产生问题。所以我的问题是:手动打开连接并保持连接是否有意义?如果是,任何人都可以分享用于此类任务的适当代码段吗?

提前致谢

最佳答案

不,不要试图保持打开的连接。它只是行不通,请参阅 https://stackoverflow.com/a/9416275/870604 .

您正在构建一个 ASP.Net MVC 应用程序,因此在此用例中使用 Entity Framework 所遵循的模式非常简单:为每个新 Controller 实例实例化一个新上下文(对于使用依赖注入(inject)的示例)。当为每个用户请求创建一个新的 Controller 实例时,您将为每个请求创建一个全新的 EF 上下文,这是非常可取的。

不用担心创建大量上下文实例,由于连接池,它不会每次都创建新的数据库连接。

如果您希望您的应用程序具有可扩展性,最好的选择是在您的 Entity Framework 版本支持异步模式的情况下也使用它。参见 http://blogs.msdn.com/b/webdev/archive/2013/09/18/scaffolding-asynchronous-mvc-and-web-api-controllers-for-entity-framework-6.aspx

编辑:看看this overview of the unit of work pattern with ASP.Net MVC and EF .

关于c# - 在高负载 Web 应用程序中正确使用 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603498/

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