2011-02-08 3 views
0

WCF 소비 서비스에서 호출되는 Windows 관리 (C++/CLI) 프로세스를 디버깅하려고합니다. 해당 프로세스에서 process.start를 호출하지만 주 메소드가 실행될 때 해당 프로세스를 일시 중지 할 수 없습니다. 내부에있는 MessageBox가 실행 및 프롬프트되지 않으므로 해당 프로세스를 VS Debugger에 첨부 할 수 있습니다. 디스크에있는 프로세스를 수동으로 실행하면 메시지 상자가 나타나거나 Process.Start를 사용하는 테스트 스텁 응용 프로그램으로 프로세스를 시작하면 메시지 상자가 나타납니다.WCF 서비스가 C#에서 Process.Start를 호출 할 때 프로세스가 시작될 때 MessageBox가 표시되지 않습니다.

C#으로 작성된 WCF 소비자 서비스 컨텍스트에서 C++/CLI 관리 프로세스를 디버깅해야합니다.이 프로세스는 프로세스 시작 후 실제로 데이터를 원격 개체로 전달합니다. 이 주위에 어떤 방법이 있습니까?

감사합니다,

답변

1

우스만은 어쩌면 메시지 박스 때문에 다른 사용자와 WCF 서비스 출시를의 표시되지 않습니다.

그러나 구성 요소를 테스트 할 수 있다면 왜 WCF에서 "다시 테스트"할까요?

논리적 오류가없는 것으로 확인되면 구성 요소의 실행 광고 데이터를 올바르게 추적하고 필요한 경우 테스트 응용 프로그램에서 이러한 오류를 재현하여 나머지 버그를 모두 해결할 수 있습니다.

+1

감사합니다. 서비스 속성 (서비스가 Windows 서비스로 설치된 서비스)에서 "서비스가 데스크톱과 상호 작용하도록 허용") – Usman

+0

좋아요! 모든 메시지 상자를 제거하기 위해 Remeber를 실행하거나;) 경고를 활성화/비활성화하도록 매개 변수를 구성하십시오. – BertuPG

0

전 C를 모르는 ++하지만 닷넷 프레임 워크에 액세스 할 수있는 경우 당신은 나는 또한 같은 문제에 직면했다 Debugger.Launch

0

를 호출 할 수 있습니다. Windows 서비스의 LogOn 속성 페이지에서 "서비스가 데스크톱과 상호 작용하도록 허용"을 확인한 후 해결되었습니다.

관련 문제