は次のようになります。依存性注入とModelStateWrapper
ProductService(IValidationDictionary validationDictionary, IProductRepository repository)
と、デフォルトのコントローラのコンストラクタでそのインスタンスは、次のように作成されます:私はユニティを使用したい場合は
public ProductController()
{
_service = new ProductService(new ModelStateWrapper(this.ModelState), new roductRepository());
}
DIの場合は、2番目のコンストラクタを使用する必要があります。
public ProductController(IProductService service)
{
_service = service;
}
しかし、私は、コントローラ内に作成され、ProductServiceに、このような依存関係を注入することが可能にinjected.Isことができない、ModelStateWrapperはコントローラからにModelStateを使用しているため、ProductServiseの最初のパラメータを注入するためにUnityを設定するか分からないしていません?
サンクス、今私は円の依存関係を見ています。私はこのような一般的な方法で作成UnityHelperことによってそれを解決: 公共TManager CreateEntityManager(TInnerInterface innerImplementation) {this.RegisterInstance (innerImplementation)。 これを返す。(); } これ以上の解決策はありません。 IProductService target = unity.CreateEntityManager (modelStateWrapper); ご協力ありがとうございます /erik –