![]() |
1
1
你可以考虑的一件事是注射一个工厂来生产肠球菌。例如,您的控制器构造函数将采用IValidationFactory,而IValidationFactory有一个方法:GetValidation(ModelStateDictionary modelState),并且您的默认实现将返回ModelStateWrapper。这允许您完整的IoC,并且您可以为单元测试注入自己的存根。 如果在IValidationDictionary上只有一个或两个方法,您也可以将ModelState传递到要调用的方法中,而不是尝试将其注入构造函数中。 |
![]() |
2
3
你的意思是说: 设置Ninject2
注入控制器
|
![]() |
3
1
你不能真的这么做。modelstate是由控制器在初始化时设置的。我不知道Ninject,但是您应该能够对您的服务进行上下文解析,并将当前的modelstate传递给它。这不是一个很好的解决方案,我不推荐。 基本上,您的问题是Ninject不知道如何解决ModelStateDictionary,因为您还没有告诉它如何解决。如果对modelstatewrapper类的依赖关系不是上下文关系,那么您只需要在Ninject中设置它就可以工作了。 |
![]() |
computrius · ninject中存储的单例实例在哪里? 7 年前 |
![]() |
After_Sunset · 如何使用TopShelf处理服务会话更改 7 年前 |
![]() |
Dan · Ninject无法解决WPF中的构造函数注入问题 7 年前 |
![]() |
Mehrdad Kamelzadeh · 带有Ninject的装饰图案 9 年前 |