문제가 발생했습니다. PerformanceCounter 개체를 래핑하는 싱글 톤 도우미 개체를 만듭니다. 그것은 IDisposable을 구현합니다 ...하지만 지금 나는 테스트 샘플 호스트 어플리케이션을 닫을 때 카운터가 perfmon 도구 (Windows 서비스에서 호스트 될 생산 단계)에서 여전히 볼 수 있으며 여전히 실행 중임을 발견했습니다.응용 프로그램이 충돌 할 때 처리하는 방법
나는 Dispose가 finalizer 내부에서 호출되지만, 나는 PerformanceCounter 객체 인 관리 자원을 처리하지 않는다는 것을 알았습니다. 자원을 적절하게 확보하려면 어떻게해야합니까?
감사합니다, 파블 당신은 일회용 패턴을 사용하는 경우 아래의 코드를 볼 수
그게 내가 찾고 있었던 것이다. 내 카운터는 엄격하게 인스턴스와 관련이 있으므로 프로세스가 종료되면 폐기해야합니다. 모드 란 무엇입니까? MultiInstance 방식을 사용합니다. 감사합니다. – dragonfly
어, 나는 일찍 행복했다 :) 카운터의 InstanceLifetime은 Global이다. 하지만 알 수없는, 프로세스로 변경하는 방법 :/ 아이디어가 있으십니까? – dragonfly
예외 : InstanceLifetime은 인스턴스가 초기화 된 후에 설정할 수 없습니다. RawValue를 설정하기 전에 기본 생성자를 사용하고 CategoryName, InstanceName, CounterName, InstanceLifetime 및 ReadOnly 속성을 수동으로 설정해야합니다. – dragonfly