2012-03-12 2 views

답변

2

IDisposable으로 정의 된 개체를 초기화 할 때마다 생성을 using 문으로 묶어야합니다. 이를 준수하고 폐기하는 것이 일반적으로 좋은 규칙입니다.

여기에는 데이터 컨텍스트가 포함됩니다. 데이터 컨텍스트를 사용하는 도중에 제어기가 던져 버리면 열린 연결로 끝날 수 있습니다.

3

EF 데이터 컨텍스트에 대해 이야기하는 중이라면 대답은 ASP.NET MVC가 자동으로 처리하지 않지만 shouldn't be worried은 스티븐 발터 (Stephen Walther)가 블로그 게시물에 설명하는대로 처분하는 것에 관한 것입니다. 여기에 similar answer이 있습니다.

+1

이 인수는 어떻습니까? "나는 IDisposable 인 것은 무엇이든 명시 적으로 처리해야한다고 주장 할 것이다. 어떤 클래스도 블랙 박스로 취급해야하며 내부 구현에 대한 가정은하지 않아야한다. – devuxer

+1

위험한 조언이라고 생각합니다. 일반적으로 타입이'IDisposable'을 구현하면'Dispose' (또는'using'을 사용)를 호출해야한다고 말하고 싶습니다. 수업의 "공개적으로 보이는 표면"에 대한 의도는 당신이'Dispose'를 호출해야한다는 것입니다. 이것이 왜 적용되지 않는지에 대한 특권있는 정보를 알고있는 것은 (당신이 그것을 디 컴파일했거나 팀의 devs에게 말했기 때문에) 그렇게하지 않는 것은 꽤 불안정한 이유입니다. 예를 들어, 향후 릴리스에서이 동작이 변경된 경우 어떻게해야합니까? IMHO 특별한 이유가없는 한 규칙에 충실하는 것이 더 쉽습니다. _하지 마세요. –

관련 문제