1

MVC4のリリースにより、リクエストごとにIDependencyScopeを使用するHttp名前空間にwebapiおよびIDependencyResolverインターフェイスが追加されました。このdependencyScopeも、各リクエストの後に破棄されます。これは、アプリケーションの起動時に設定し、GlobalConfiguration.Configurationを使用するだけで簡単に設定できます。

これは「通常の」MVCコントローラーでも可能ですか?そっくりのインターフェースはありますか、それともコントローラーやサービスで自分で処分する必要がありますか?

4

1 に答える 1

2

Web API にこのスコープ メカニズムが含まれている理由は、Web API はセルフホスト環境で実行できるため、HTTP 要求を常にスコープとして使用できるとは限らないためHttpContext.Currentです。

一方、「通常の」MVC コントローラーは常に Web 環境で実行されるため、常に HttpContext が利用可能です。つまり、このメカニズムをスコープを定義する方法として使用できます。これは、多くの IoC コンテナーが提供する「Per Web Request」ライフスタイルが行うことです。つまり、MVC アプリケーションは常に「Web リクエストごと」のライフスタイルを使用できるため、そのスコープは必要ありません。

于 2012-09-25T09:17:52.597 に答える