«idisposable» 태그된 질문

IDisposable은 Microsoft .NET Framework의 BCL (Base Class Library) 내의 인터페이스입니다. .NET 응용 프로그램 코드 내에서 관리되지 않는 리소스를 해제하는 일반적인 결정적 방법을 제공하기위한 것입니다.

19
IDisposable 인터페이스의 올바른 사용
인터페이스 의 "기본"사용은 관리되지 않는 리소스를 정리하는 것이라고 Microsoft 설명서 를 읽은 것으로 알고 IDisposable있습니다. 나에게 "관리되지 않는"은 데이터베이스 연결, 소켓, 창 핸들 등과 같은 것을 의미합니다. 그러나 가비지 수집기가 처리해야하기 때문에 관리 리소스 Dispose()를 해제하기 위해 메서드가 구현되는 코드를 보았습니다. 당신을 위해. 예를 들면 다음과 같습니다. public class MyCollection …

13
C #에서 Finalize / Dispose 메서드 사용
C # 2008 나는이 문제에 대해 잠시 동안 노력해 왔으며 여전히 코드에서 finalize 및 dispose 메서드를 사용하는 것에 대해 혼란스러워합니다. 내 질문은 다음과 같습니다. 관리되지 않는 리소스를 처리하는 동안 종료자가 필요하다는 것을 알고 있습니다. 그러나 관리되지 않는 리소스를 호출하는 관리되는 리소스가있는 경우 여전히 종료자를 구현해야합니까? 그러나 관리되지 않는 리소스를 직접 …

12
HttpClient와 HttpClientHandler를 요청 사이에 배치해야합니까?
System.Net.Http.HttpClient 및 System.Net.Http.HttpClientHandler.NET Framework 4.5의 는 IDisposable ( System.Net.Http.HttpMessageInvoker 를 통해 )을 구현 합니다. 그만큼 using문 문서는 말합니다 : 일반적으로 IDisposable 객체를 사용할 때는 using 문에서 선언하고 인스턴스화해야합니다. 이 답변 은 다음 패턴을 사용합니다. var baseAddress = new Uri("http://example.com"); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() …


10
Dispose () DataSet 및 DataTable을해야합니까?
DataSet과 DataTable은 모두 IDisposable을 구현하므로 일반적인 모범 사례에서는 Dispose () 메서드를 호출해야합니다. 그러나 지금까지 읽은 내용에서 DataSet 및 DataTable에는 실제로 관리되지 않는 리소스가 없으므로 Dispose ()는 실제로 많은 작업을 수행하지 않습니다. 또한 using(DataSet myDataSet...)DataSet에는 DataTable 컬렉션이 있으므로 사용할 수 없습니다 . 따라서 안전하려면 myDataSet.Tables를 반복하고 각 DataTable을 삭제 한 다음 …


5
null 객체와 함께 using 문에서 Dispose ()가 호출됩니까?
using(잠재적으로) 널 오브젝트 에서 명령문 을 사용하는 것이 안전 합니까? 다음 예제를 고려하십시오. class Test { IDisposable GetObject(string name) { // returns null if not found } void DoSomething() { using (IDisposable x = GetObject("invalid name")) { if (x != null) { // etc... } } } } Dispose객체가 null이 …
179 c#  idisposable  using 

5
스트림 객체에 대해 Close () 또는 Dispose ()를 호출해야합니까?
같은 클래스 Stream, StreamReader, StreamWriter등을 구현하는 IDisposable인터페이스를 제공합니다. 즉, Dispose()이러한 클래스의 객체에서 메소드를 호출 할 수 있습니다. 또한 public라는 메소드를 정의했습니다 Close(). 이제 객체로 작업을 마치면 무엇을 호출해야하는지에 대해 혼동됩니다. 둘 다 호출하면 어떻게됩니까? 내 현재 코드는 다음과 같습니다 using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader = new …


9
가비지 콜렉터가 IDisposable을 호출합니까?
닷넷 으로 IDisposable 패턴은 의미 당신이 종료자가 작성하고는 IDisposable을 구현하는 경우, 귀하의 종료 자 요구가 명시 적으로 폐기를 호출 할 수 있다는 것이다. 이것은 논리적 인 것이며, 파이널 라이저가 보증되는 드문 상황에서 항상 수행 한 것입니다. 그러나 내가 이렇게하면 어떻게됩니까? class Foo : IDisposable { public void Dispose(){ CloseSomeHandle(); } …



2
ASP MVC : IController Dispose ()는 언제 호출됩니까?
더 큰 MVC 앱 중 하나를 크게 리팩토링 / 속도 조정 중입니다. 이제 몇 달 동안 프로덕션에 배포되었으며 연결 풀에서 연결을 기다리는 시간 초과가 발생하기 시작했습니다. 제대로 처리되지 않는 연결까지 문제를 추적했습니다. 이를 고려하여 이후 기본 컨트롤러를 다음과 같이 변경했습니다. public class MyBaseController : Controller { private ConfigurationManager configManager; // …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.