2

我在 Azure 项目的 ServiceDefinition 文件中有这些行:

<Startup>
  <Task commandLine="Tools\Reminder.cmd" executionContext="elevated" taskType="simple" />
</Startup>

但是对于测试服务器和生产服务器,它必须是不同的 Reminder.cmd 文件。我该怎么做?我知道我们可以为 ServiceConfiguration 设置不同的配置,但不知道如何为 ServiceDefinition 文件设置不同的配置。

4

2 回答 2

2

不幸的是,没有办法配置您的 ServiceDefinition 文件来为在已部署环境中运行的启动任务执行此操作。围绕此的一般建议是将自定义代码/测试放在任务本身中,如果它没有在您的生产服务器中运行,则退出。

但是,您可以在 ServiceDefinition 中将启动任务配置为不在本地开发机器上运行。史蒂夫马克思有一篇关于如何做到这一点的好帖子。

<Startup>
  <Task executionContext="elevated" commandLine="startup\startup.cmd">
    <Environment>
      <Variable name="EMULATED">
        <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
      </Variable>
    </Environment>
  </Task>
</Startup>
于 2013-01-16T12:41:08.843 回答
0

我知道的最简单的方法是为每个环境使用不同的 CSDEF 文件。这个问题的答案将告诉你如何去做。

这个问题是关于改变虚拟机大小的,但实际上是同一个问题。在您的情况下,您只需更改每个环境的启动任务。

于 2013-01-17T16:04:09.700 回答