2

コンソールアプリケーションとMVCWebアプリケーションに同じDALインフラストラクチャを使用しており、MVC WebアプリケーションでInRequestScope用に構成する必要がありますが、OnePerRequestModuleが構成されていない場合のInRequestScopeのデフォルトのフォールバックを知る必要があります。 (私のコンソールアプリケーションの場合のように)。

編集 私のバージョンのNinjectは3.0.1.10です。

4

1 に答える 1

2

NateKohariによるCacheandCollectの記事を読んでください。

Ninjectの最近のバージョンはOnePerRequestModule、をアセンブリに分離しているため、そのコンテキストで作業しないと拡張機能Ninject.Web.Mvcを表示することさえできません。InRequestScope

Disposeコンソールアプリの場合、多くの場合、dを必要とする多くのリクエストを処理していないため、デフォルトのスコープ[スコープnullInTransientScope指定しない]やクラスの暗黙的な自己登録を許可すると、完全に適切である。ただし、一般的には、作業単位を把握し、廃棄が必要なものを処理する必要がある場合は明示的に管理するのが最善です(オブジェクトはスコープされないため、廃棄は行われず、ファイナライザーのみが開始されます[マーフィーの法則によって決定されるタイミング])。

ウィキのスコープセクションも、このトピックについて読む価値があります。

于 2012-10-29T17:22:13.617 に答える