我有一个标准的ASP.Net应用程序,我在其中添加了Azure部署项目以部署到Azure。该应用程序可以很好地部署到Azure。
然后我想扩展它以启动任务。
我将以下内容添加到ServiceDefintion.csdef
<Startup>
<Task commandLine="startup.cmd" executionContext="elevated" taskType="simple"/>
</Startup>
startup.cmd位于应用程序bin文件夹中。我已经记录了命令文件,所以我可以看到它没有被执行。
当我将同一个应用程序部署到本地计算机上的Compute Emulator时,启动任务正确执行。
我错过了什么吗?
答案 0 :(得分:1)
您的“startup.cmd”不应只在您的应用BIN文件夹中,而是在根文件夹中,并标记为“内容”和“复制到输出目录” - &gt; “总是复制”。否则它将不会部署到Azure。
关注Web应用程序的另一个时刻是,您最有可能将bin文件夹也放在启动任务定义中。类似的东西:
<Startup>
<Task commandLine="./bin/startup.cmd" executionContext="elevated" taskType="simple"/>
</Startup>
希望这有帮助。
答案 1 :(得分:0)
派对有点晚了。
我也有这个问题,对我而言,我将Web角色项目设置为启动项目而不是Azure Cloud Service项目。通过将Azure Cloud Service设置为启动项目,您可以使用azure仿真器启动项目,这需要启动,运行和停止事件,以便在您的Azure环境中工作。