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ファイルを用意することです。この質問への答えはそれを行う方法を教えてくれます。

その質問はVMサイズの変更に関するものでしたが、実際には同じ問題です。あなたの場合、環境ごとに起動タスクを変更するだけです。

于 2013-01-17T16:04:09.700 に答える