IIS/WAS でホストされている場合、net.msmq 用に構成された WCF サービスは HttpApplication として実行されないことを理解しています。つまり、Global でイベントを取得できません (Application_Start が重要です)。この点で私は正しいですか?
Windows Server AppFabric を使用してサービスを自動開始すると、HTTP 経由でサービスがヒットし、Application_Start イベントが発生しますか? もしそうなら、これは信頼できますか?
私の本当の質問は、非 HTTP WCF サービスの初期化コードの「適切な」場所はどこですか?
特に(適切な場所はものごとに異なる場合があるため):
- IoC 登録
- log4net 初期化
- MSMQ キューがローカルに存在することを確認する (Juval Lowy が WCF の本で提案しているように)
後続の質問: カスタム IServiceBehavior のイベントは、すべての要求で発生しますか、それとも起動時に 1 回だけ発生しますか? ServiceHost.OnOpening() はどうですか - すべてのリクエストまたは起動時に 1 回だけですか? (私のテストでは、それは一度だけですが、どこにも見つからないように見えるため、WCFの「ライフサイクル」が文書化されている場所を知っている人はいますか。)