最初 なぜこれを行うのか:
HTTPS をエンドポイントとして使用して Azure Webrole としてデプロイされた WCF サービスがあります。このサービスには、カスタムの「ロード バランサー プローブ」を設定する必要があります。Azure ロード バランサーは HTTPS をサポートしていないため、HTTP エンドポイントを使用して 2 番目の Web サイトをデプロイし、それを "ロード バランサー Prob" として使用しました。
だから私の問題は何ですか?
次のような2つのWebサイトを持つWebroleがあります。
<WebRole name="WebRole1" vmsize="Medium">
<Sites>
<Site name="Web" physicalDirectory="roles\WebRole1">
<Bindings>
<Binding name="Web" endpointName="WebRoleEndpoint" />
</Bindings>
</Site>
<Site name="Web2" physicalDirectory="roles\HealthProb">
<Bindings>
<Binding name="Web" endpointName="HealthProbEndpoint" />
</Bindings>
</Site>
</Sites>
...
RoleEntryPoint.OnStop() を処理して、正しいヘルス ステータス コードをロードバランサーに返すようにすることをお勧めします ( http://blog.mdavies.net/2013/04/27/custom-load-balancing-endpoints-azure -web-worker-vm-role/ )
私の問題は、2 番目の Web サイトで RoleEntryPoint.OnStop() を処理する方法です。Webrole では RoleEntryPoint.OnStop() を拡張してオーバーライドすることで簡単にこれを行うことができますが、2 番目の Web サイトではそのイベントを処理できません。
2 番目の Web サイトで OnStop または同様のイベントを処理する方法はありますか?!