我在ASP.NET MVC 4應用程序中使用Spring.NET的IOC容器。每個控制器從容器中得到EF的datacontext:Spring.NET IOC/MVC - 處置的數據庫上下文
private readonly IDBContext db =
(IDBContext) ApplicationHelper.ApplicationContext.GetObject("DatabaseContext");
我搭建的控制器,默認情況下,他們實現IDisposable接口,其中DB連接設置 - 這樣的:
protected override void Dispose(bool disposing)
{
this.db.Dispose();
base.Dispose(disposing);
}
這很好 - 我想保持這樣。但是,調用的第二個控制器會發出異常,指出數據庫上下文已處理。
所以 - 我想要做的是讓IOC容器檢查對象是否已經處置,當下一個控制器調用GetObject()
方法時。這是可能的,還是應該改變我的設計?
甜點 - 答案。謝謝!我添加了範圍=「請求」,並將刪除所有腳手架配置代碼,它的工作原理! –