2016-08-17 11 views
-2

私はC#の初心者で、Web APIでIoCを学習し始めました。 TransientPerWebRequestのライフスタイルの違いは何ですか?IoC寿命の差

残念です。

答えて

1
  • シングルトン

それは "すべてのための1つのインスタンス" を意味します。すべての時間はあなたがResolve(でも、暗黙的に)呼び出すときは

それはsingletoneに反対だ

  • 一時同じオブジェクトを得ました。あなたが呼んでできるだけ多くのオブジェクトを取得しますResolve

    • PerWebRequest

    読む方法1つの要求に対するSingletonおよび他のためのtransient(要求が受信としてあなたはできるだけ多くのオブジェクトを取得します)

    詳細については、catle.windsor manualまたはofficial asp.net docs

1

PerWebRequest sco peはWebcallの始まりからWebcallの終わりまで続きます。あなたが解決されたエンティティへの参照を保持している限り、一時的な生存期間。 AddTransientメソッドは、抽象型を、それを必要とするすべてのオブジェクトに対して個別にインスタンス化された具象サービスにマップするために使用されます。

は参照してください:Asp.Net Dependency Injection

0

一時はあなたがIoCコンテナと呼ばれるほど多くのオブジェクトがあることを意味します。また、作成したすべてのIDisposableアイテムを処分する必要があることを意味します。

PerWebRequestはリクエストごとに1つのインスタンスを持つことを意味します。したがって、サーバーで複数のリクエストが実行されている場合、それぞれに独自のオブジェクトインスタンスがあります。 IDisposableオブジェクトは、IoCフレームワークによって処理される可能性があります。