2013-01-22 1 views
3

이상적으로 100 % 가동 시간을 유지해야하는 .NET WCF 서비스가 있습니다. 하지만 때로는 타사 DB 연결 구성 요소로 인해 발생하는 응용 프로그램의 메모리 누수 문제가 있습니다. 프로세스 존재 여부를 감시하도록 nnCron을 구성했으며 해당 서비스의 프로세스가 종료되면 다시 시작해야합니다."응용 프로그램이 작동을 멈췄습니다"창을 사용하지 않음

그러나 응용 프로그램이 다운되면 창문이 튀어 올라 응용 프로그램이 다운되었다는 알림을 받게됩니다. 여기

그것이 :

enter image description here

그리고 우리는 바보 "프로그램을 닫습니다"버튼을 클릭하는 경우에만 프로세스가 정말 시스템에서 사라지고. 그리고 그 nnCron 서비스를 다시 시작한 후에야. 우리는이 창을 모니터링하는 것을 원하지 않으며 단지 nnCron 성공 작업을 제거하려고합니다.

그러면 어떻게 이러한 창을 비활성화 할 수 있습니까?

OS는 Windows server 2008 r2 Standard입니다.

+1

왜 서비스가 Windows 서비스가 될 수 있도록? –

+0

@JohnSaunders 우리가 때때로 내부 정보를 얻기 위해 보는 WCF 서비스 콘솔 출력이 필요하기 때문입니다. – kseen

+0

그래서 Windows 서비스로 만드십시오. IGetInternalInformation에 대한 추가 계약을 구현하십시오. 콘솔에서 해당 계약의 메소드를 호출하도록하십시오. –

답변

7

나는 이것이 오래된 질문이라는 것을 알고 있지만, 나는 똑같은 문제가있어서 해결책을 찾았다.

전화는 응용 프로그램의 시작 부분에 다음과 같은 : 내가 널 포인터 역 참조 시도하는 매우 간단한 테스트 응용 프로그램을 시도했습니다

SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); 

. 위의 줄이 없으면 내 테스트 응용 프로그램에 "... 대화가 중지되었습니다."라는 메시지가 표시됩니다. 위의 행을 사용하면 응용 프로그램이 조용히 종료됩니다.

참고 :

편집 : 여기에 코드를 수정하지 않고 그 대화 시스템 전체 해제에 대한 옵션입니다. REG_DWORD로 다음 레지스트리 값을 생성하고 값을 1로 설정합니다

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\DontShowUI 

참조 : WER Settings