私はASP.NET MVC newbyeです。私はエンタープライズデザインパターンを学習し、実験しています。しかし、私はリソースを処分するという概念について何か不足し続けています。より具体的には、コントローラーコンストラクターにIFuncyRepositoryやIFuncyServiceのインプリメンテーションやコントローラーで使用される他の種類の "リソース"を注入するcontrollerFactoryのメカニズムに焦点を当てたいと思います(私の場合、IoCとしてStructureMapを使用しています)。IoCと自動Disposeの神秘的な世界を説明してください
私の質問は、これらの注入されたリソースが廃棄されるWHERE/IF/HOWです。
ガイドラインに従っている本はASP.NETデザインパターンです。これまでIDisposableを実装しているクラスが存在しないため、このことについての説明はできません。リソースの廃棄タスクがどこかで自動的に行われるように見える(おそらくIoC?)。 私はこれを理解することができないので、私は非常に迷惑な疑いにつながる私のアプリケーションのパフォーマンスについては確信できません!誰にも事前に
おかげで、私の懸念を返信したり共有します;)
ので、私はリソースを配置するコンテナでなければならないリソースを注入した容器を使用している場合は、このルールに従いました。実際には少しのグーグルの後、私は実際にStackoverflowとここにいくつかの質問が見つかりました。 リクエストが終了したときにわかっている限り、disposeメソッドはIoCによって自動的に呼び出されます。 構造マップの例は次のとおりです。 ObjectFactory.GetInstance()。Dispose(); 私はこれについてグーグルで実験していきます。 ありがとうございます。 –
user711643
これはすべてのコンテナで異なりますが、ほとんどの場合、要求が終了するとリクエストスコープのオブジェクトを廃棄する傾向があります。しかし、オブジェクトグラフにはライフタイムスタイルが異なるオブジェクトがあるかもしれません。オブジェクトグラフを終えた時点で、オブジェクトグラフを明示的に解放することは良い考えです。 –
これは大きな疑問を解決します。ありがとう! – user711643