2017-02-27 2 views
0

일반적으로 VM에 서비스로 설치되는 NserviceBus Handler가 있습니다. 우리는 Azure에서 PAAS로 작동하도록 노력하고 있습니다. 그래서이 아이디어는 하늘의 Webjob으로 솔루션을 발표하는 것입니다. 웹 작업으로 게시 할 때 보류중인 시작 상태가 표시됩니다. 로그는 다음을 나타냅니다.Windows 서비스를 AZURE WEBJOB으로 게시

[02/27/2017 09:35:10 > 2cf107: SYS INFO] Run script 'ENSource.Handlers.exe' with script host - 'WindowsScriptHost' 
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to Running 
[02/27/2017 09:35:10 > 2cf107: INFO] Cannot start service from the command line or a debugger. A Windows Service must first be installed (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative tool or the NET START command. 
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to Success 
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Process went down, waiting for 60 seconds 
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to PendingRestart 

무엇이 누락 되었습니까? Azure에서 NServiceBus 처리기를 WebJob으로 사용하려면 어떻게해야합니까?

답변

0

더 이상 Windows 서비스가 아니라 콘솔 응용 프로그램이되도록 서비스를 다시 작성합니다. 그런 다음 WebJob 호스트에 run it on a schedule으로 알릴 수 있습니다 (또는 시나리오에 적합한 경우 WebJobs SDK을 사용하여 WebJob 호스트를 계속 사용할 수 있음).

다른 접근법은, 이미 Thiago에서 언급 한 바와 같이, 클라우드 서비스에 작업자 역할 내부의 Windows 서비스를 설치하는 것입니다 : 할 수 있지만 무서운 하나에 https://blogs.msdn.microsoft.com/golive/2011/02/11/installing-a-windows-service-in-a-windows-azure-worker-role/

정확 하 똑바로 앞으로.

+0

은 Azure WebJob으로 프로젝트를 다시 작성했습니다. 이제는 문제가 발생하지 않습니다. –

0

Azure 웹 작업에서는 작동하지 않습니다. 권한 상승으로 클라우드 서비스로 실행할 수는 있지만 Windows 서비스로 설치할 수있는 권한이 있는지는 확실하지 않습니다. 그래서 가상 머신을 사용하는 것보다 다른 방법이 없습니다. PaaS 대안을 원할 경우 Azure Service Bus를 사용하여이 앱을 다시 작성할 수 있습니다.