OK、StructureMapをWeb Apiアプリケーションに接続しました(StackOverflowやインターネット上の他の場所でこれを行う方法のサンプルがたくさんあります)。Web Apiでのオブジェクトの有効期間の保守についての私の理解は、ネストされたコンテナーを介して行われるということです。
ネストされたコンテナを介したオブジェクトの有効期間のメンテナンスの全体像を機能させるには、Ravenのセッションオブジェクトを一時的なシングルトンとして子コンテナに作成する必要があります。今、私はIDocumentStore
親コンテナで定義し、シングルトンとしてスコープを設定しました。IDocumentSession
親コンテナでも定義されていますが、スコープはHttpContextです。リクエストが着信すると、BeginScope()
が呼び出され、ネストされたコンテナが作成されますが、そのIDocumentSession
中のオブジェクトは作成されるのではなく、親から継承されます。
これがどのように機能するのかわかりません。オブジェクトが一時的なシングルトンとして子コンテナに作成されていないが、代わりに親から継承されている場合、ネストされたコンテナが破棄されると、オブジェクトは親に戻ります。その後、これはアイデア全体を打ち負かします。一方、セッションを一時的なシングルトンとしてネストされたコンテナに作成する場合、これをどのように実現できますか?そのような設定の正しさをどのように確認できますか?