【发布时间】:2017-07-19 21:50:11
【问题描述】:
我正在尝试找出使用 WebAPI 和实体框架在我的平台上执行操作的最佳方式。
现在我正在为每个请求创建一个新连接:在每个控制器中,都有一个为每个类似方法实例化和处置的对象。
public class SchedulerController : ApiController
{
private ApplicationDbContext db = new ApplicationDbContext();
protected override void Dispose(bool disposing)
{
if (disposing)
db.Dispose();
base.Dispose(disposing);
}
}
在我看来,为每个请求创建连接是影响性能的完全开销。我知道在 Java 上有一些工具(可能是胡桃夹子?)可以处理一种连接池以重用相同的连接并通过这种方式提高性能。
c# / ASP.NET / Azure 平台有类似的东西吗?
我也非常感谢请求增长数量的性能比较。
编辑:这主要是指 DbContext 自己进行的缓存。
【问题讨论】:
-
创建新的 DbContext 不会打开任何数据库连接
标签: c# asp.net entity-framework azure asp.net-web-api