2010-05-27 10 views
0

C# 2.0을 사용하여 빌드 된 Windows 서비스 내에 타이머가 있습니다. 우리는 Exception handling을 디자인하고있다. Timer는 자체 스레드에서 실행되므로 메모리 부족 예외를 처리하려고합니다. 그런 일이 발생하면 서비스를 중단하고 싶습니다. 어떻게 다른 스레드에서 발생하면 서비스를 부드럽게 중지 할 수 있습니까?메모리 부족 예외 - Windows 서비스 중지

+0

이미 onStop 이벤트를 재정의하고이를 호출하고 있습니까? 예외를 catch하고 정리할 중지 이벤트를 호출 한 다음 Environment.Exit()을 호출 할 수 있습니다. 스레드가 필요할 때까지 기다릴 수 있습니다. – Brandi

답변

0

서비스 제어 관리자 API를 사용하여 자체 서비스에 "중지"명령을 보내시겠습니까? 그러면 해당 명령을 처리하기위한 표준 기능을 호출 할 수 있습니다.

1

OutOfMemoryException은 절대로 응용 프로그램에서 "처리"하지 않아야합니다. 즉시 메모리 누수가있는 경우 문제를 해결하고 누출 문제를 해결해야합니다.