ここからComputeEmulatorでAzureサンプルを試してみましたがOnStart()
、クラスで継承をRoleEntryPoint
かなり遅くしてWebロールの.aspxページを返すと、戻る前でもHTTP要求を受け入れることがわかりましたOnStart()
。
かなり紛らわしいと思います-IISがまだ開始されていない役割への要求を受け入れるのはなぜですか?
エミュレーターはロードバランサーを100%エミュレートしません。クラウドの場合、ロールがOnStart()にある場合、ビジーとしてLBに報告され、トラフィックはLBにルーティングされません。Trueを指定してOnStart()から戻ると、数秒ほどかかりますが、その場合にのみ、LBはそれにルーティングを開始します。OnStart()をトレースし、そこに大きなSleep()を配置することで、これを自分でテストできます。(長引くポートを介して)インスタンスに到達することはできません。
もちろん、LBにReadyステータスを無視するように依頼することもできます。これは、ビジー状態の場合でもルーティングされます。これは、エンドポイントでignoreRoleInstanceStatus="true"を指定することで実行されます。