2016-06-21 10 views
-2

이벤트 로그에 오류가 발생했지만 누출 여부를 검사 할 때 .net 프로파일 러에서 이벤트 로그 누수가 발생했습니다.이 개체를 처리해야합니까? 멀티 스레딩에서 어떤 문제가 발생합니까?이벤트 로그 누출 문제 (.net 프로파일 러가 표시되지 않음을 나타냄)

public override void ProcessWarning(string title, string message) 
{ 
    if (title == null) 
     eventLog.WriteEntry(message, EventLogEntryType.Warning); 
    else 
     eventLog.WriteEntry(title + '\n' + message, EventLogEntryType.Warning); 
    } 
} 
+0

* 관련 * 코드를 게시하십시오. 어디에서'eventLog'를 정의합니까? 초기화 할 곳은 어디입니까? 그리고 부모 클래스의 Dispose 메소드에서 처리하지 않는 이유는 무엇입니까? –

답변

0

EventLog 클래스는 IDisposable를 구현하는 것을 도시하는 Component을 연장한다. 그래서 네, (결국) Dispose()해야합니다.

분명히 eventLog은 수업 중 필드입니다. 이 IDisposable 필드는 클래스가 IDisposable 자체를 구현해야 함을 의미합니다. 자신의 처분 방법에서는 처분해야합니다 그 eventLog.

물론 이것은 을 사용하여을 사용한다는 것을 의미합니다.이 클래스는 현재 IDisposable로 취급해야합니다.