我试图找出在我的平台上使用WebAPI和实体框架执行操作的最佳方式。ASP.NET WebAPI 2 +实体框架连接缓存的最佳实践
现在我正在每个请求创建一个新的连接:在每个控制器中都有一个对象为每个方法实例化和处理。
public class SchedulerController : ApiController
{
private ApplicationDbContext db = new ApplicationDbContext();
protected override void Dispose(bool disposing)
{
if (disposing)
db.Dispose();
base.Dispose(disposing);
}
}
在我看来,为每个请求创建连接是一个影响性能的完整开销。我知道在Java上有一些工具(Nutcracker可能?)处理一种连接池以重用相同的连接,并通过这种方式提高性能。
在c#/ ASP.NET/Azure平台中是否有类似的东西?
我真的很感谢在请求数量上的性能比较。
编辑:这主要是指DbContext自己做的缓存。
创建新的DbContext不会打开任何数据库连接 – ErikEJ