2012-03-05 3 views
2

로컬로 잘 작동하지만 라이브 패브릭에서 충돌하는 Azure 작업자가 있습니다. 원격 디버거를 연결하고 싶지만 RDP를 사용하고 디버거를 연결하기 전에 프로그램이 충돌하기 때문에 그럴 수 없습니다.Azure에서 WaWorkerHost를 다시 시작하십시오 (RDP를 통해)

WaWorkerHost.exe을 수동으로 다시 시작하지 않고 시스템을 다시 시작하는 방법이 있습니까?

+0

행운이 뭐니? –

+0

불행히도 아닙니다. –

답변

1

푸른 아래에 디버거를 연결하는 방법에 대한 블로그 시리즈 내가 surgest 것입니다 무슨 손에서 문제

http://blogs.u2u.be/peter/post/2011/06/21/Remote-debugging-an-Azure-Worker-role-using-Azure-Connect-Remote-desktop-and-the-remote-debugger.aspx

이제 (다른 사람 여기 퍼팅 난 당신이 지금까지 가지고 추측 참조)하고 점점 당신의 작업자가 디버거가 연결되고 로깅 될 때까지 시작 코드에서 자체를 일시 중단합니다.

다음 속성 및 방법을 사용할 수 있습니다. 기다리는 동안 나는 그 잘난 척도 잘 것이다.

 while (!(System.Diagnostics.Debugger.IsAttached && System.Diagnostics.Debugger.IsLogging())) 
     { 
      System.Threading.Thread.Sleep(1000); 
     } 
+0

서비스를 다시 시작하지 않습니다. 또한 프로덕션 인스턴스에서 작동하지도 않습니다. –

+0

저는 실제 작업자를 다시 시작하는 대안을 생각하고있었습니다. 이렇게하면 디버거가 정상적으로 연결될 준비가 될 때까지 기다릴 것입니다. 위의 기사 에서처럼 에뮬레이터 용으로 구성되지 않았다면 프로덕션 인스턴스에서이 작업을 수행 할 수 있습니다. – Dreamwalker

6

WaWorkerHost를 죽일 수 있으며 WaHostBootstrapper에 의해 자동으로 다시 시작됩니다 (잠시 기다려주십시오).


귀하의 코멘트에 응답 :

내가 제대로 이해 경우

  • 먼저 (충돌하지 않거나 하나) 빈 노동자를 배포해야
  • 는 역할 인스턴스에 연결 (원격 데스크톱)
  • 그런 다음 테스트 할 바이너리와 함께 배포하십시오.
+0

WaHostBootstrapper는 재시작을 중지하기 전에 재시도 횟수를 제한합니다. 내가 들어가기까지, 너무 늦었 어. –

관련 문제