0

起動タスクが完了するまで、仮想マシンの役割を利用可能にするのを遅らせることはできますか?

マシンを安全にロード バランサーに追加する前に、仮想マシンの起動時に完了しなければならないタスクがいくつかあります。これを行う方法はありますか?

4

2 に答える 2

1

解決策を見つけました。VM Role Startup Windows サービスでは、RoleEnvironment.StatusCheck イベントを処理できます。その後、SetBusy() を呼び出して、インスタンスがロード バランサーで使用可能になるのを防ぐことができます。

    private void RoleEnvironmentStatusCheck(object sender, RoleInstanceStatusCheckEventArgs e)
    {
        if (this.busy)
        {
            e.SetBusy();
        }
        statusCheckWaitHandle.Set();
    }
于 2012-05-04T16:15:29.557 に答える
0

taskType属性をに設定するsimpleと、実際に開始する前に役割がタスクの完了を待機するようになると思います。

<ServiceDefinition name="MyService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
   <WebRole name="WebRole1">
      <Startup>
         <Task commandLine="Startup.cmd" executionContext="limited" taskType="simple">
         </Task>
      </Startup>
   </WebRole>
</ServiceDefinition>
于 2012-05-04T14:57:42.303 に答える