ASP.NET MVC 4 응용 프로그램에서 Spring.NET의 IOC 컨테이너를 사용하고 있습니다. 각 컨트롤러는 컨테이너에서 EF의 데이터 컨텍스트를 얻고있다 : 나는 컨트롤러를 스캐 폴딩 한Spring.NET IOC/MVC - 삭제 된 데이터베이스 컨텍스트
private readonly IDBContext db =
(IDBContext) ApplicationHelper.ApplicationContext.GetObject("DatabaseContext");
, 기본적으로 그들은 DB 연결이 배치되는으로 IDisposable 인터페이스를 구현 - 같은 :
protected override void Dispose(bool disposing)
{
this.db.Dispose();
base.Dispose(disposing);
}
을
괜찮습니다. 저는 그렇게하고 싶습니다. 그러나 호출 된 두 번째 컨트롤러는 데이터베이스 컨텍스트가 삭제되었음을 알리는 예외를 제공합니다.
그래서 다음 컨트롤러가 GetObject()
메서드를 호출 할 때 개체가 삭제되었는지 IOC 컨테이너 검사를 수행하고 싶습니다. 그럴 수 있습니까, 아니면 디자인을 변경해야합니까?
대답 - 달콤한 자리. 감사! 나는 scope = "request"를 추가했고 모든 scaffolded dispose 코드를 제거 할 것이고 작동한다! –