2009-05-07 5 views
-3

어떻게 asp.net mvc IDisposable 인터페이스를 사용할 수 있습니다.ASP.NET MVC 및 Idisposable

+0

실제로 무엇을하고 싶습니까? 이 문제점에서 ASP.NET MVC와 다른 부분의 차이점은 무엇입니까? –

답변

0

일부 사람들이 생각하는 것처럼 그렇게 나쁜 질문은 아닙니다. 그것은 단지 잘못된 방식으로 요청됩니다. 다음 코드를 고려 : CTX 객체의 결과로 데이터에보기 실제로 반복 오래 전에 배치되어 있기 때문에

ActionResult UserList() 
{ 
using (var ctx = new DbCtx()) 
{ 
    return View(ctx.Users) 
} 
} 

가 작동하지 않습니다 예외를 배치.

해결 방법은 Controller.Dispose에 ctx를 처리하는 것입니다. 명백하지 않은 점은 컨트롤러에 주입 된 대부분의 종속성이 조만간 IDisposable을 구현해야한다는 것입니다.

그러나 이것은 mvc 특정 문제가 아닙니다.

+0

이것이 컨트롤러 팩토리로 Autofac을 사용하는 이유입니다. 삽입 된 종속성에는 요청이 끝날 때 자동으로 Dispose 메서드가 호출됩니다. –

1

asp.net에서 IDisposable mvc는 .Net 프레임 워크의 다른 위치에서 IDisposable과 동일합니다.