2017-02-27 135 views
0

我有一个NserviceBus处理程序,通常作为服务安装在VM上。我们正试图让这个在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 

我错过了什么?如何让NServiceBus处理程序在Azure上作为WebJobs工作?

回答

0

我只想重写服务,使其不再是一个Windows服务,但一个控制台应用程序。然后,您可以将WebJob主机告诉run it on a schedule(或者,如果这对您的方案更有意义,则可以通过利用WebJobs SDK使其继续)。

的替代方法,如已经提到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重写你的这款应用。