我有一个有效的部署。 我已添加到Cloud Service Role的配置文件中:
<Startup>
Task commandLine="EnableCompression.cmd" executionContext="elevated" taskType="simple"></Task>
</Startup>
然后在cmd文件中:
%windir%\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True /commit:apphost
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json; charset=utf-8',enabled='True']" /commit:apphost
将此发布到Azure时,我得到了:
Your role instances have recycled a number of times during an update or upgrade operation. This indicates that the new version of your service or the configuration settings you provided when configuring the service prevent the role instances from running. Verify your code does not throw unhandled exceptions and that your configuration settings are correct and then start another update or upgrade operation.
Cmd文件具有COPY ALWAYS属性。所以这应该没问题。
从配置中删除<Startup>
标记时,它成功。
以上似乎未能部署
这可能是什么原因? 谢谢!
答案 0 :(得分:4)
确保启动命令的返回代码始终为零,否则azure认为它失败并重新使用您的角色。
您可以将“exit 0”添加为批处理文件的最后一个命令,以确保它以成功代码零退出。
最有可能的是,命令失败,或者它确实成功了,但返回代码非零,表示没有任何变化等等