我試圖找出在我的平臺上使用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