Castle Windsor を使用して、複数の WCF サービスに依存関係を挿入しています。また、Castle.Facility.WcfIntegration.DefaultServiceHostFactory と城の wcfFacility も使用しています。当社のサービスは IIS でホストされており、Global.aspx イベントにアクセスできます。すべてのコンポーネントは一時的なライフサイクルに登録されています。現在、application_start イベント中にコンテナー内のすべてのコンポーネントを登録してから、application_end 内のコンテナーを破棄します。
ただし、いくつかのブログといくつかの SO 投稿を読んだ後、私のソリューションが漏れているのではないかと心配し始めています。つまり、application_end でコンテナーを解放すると、アプリケーションからメモリがゆっくりとリークするようになると思います。request_start と request_end または mabye session_start と session_end イベントで登録して解放することを考えています。私が抱えている問題は、コンテナを「保持」する場所がわからないため、セッションまたはリクエストが終了した後にコンテナを解放できることです。誰かがこの問題に遭遇しましたか? もしそうなら、どのように解決しましたか?そして、私の解決策は正しいですか?