我是温莎城堡的新手,我只是使用最新版本。我已经为我的存储库创建了运行良好的条目,但是我有一个最终依赖项,我将其传递到我的控制器中。
我创建了一个继承自 IValidationDictionary 的 ModelStateWrapper。ModelStateWrapper 在其构造函数中采用 ModelStateDictionary ,因此在我的代码中,我可以将以下内容作为示例传递:
IMembershipService _memSvc;
IValidationDictionary _validationService;
public AccountController()
{
_validationService = new ModelStateWrapper(this.ModelState);
_memSvc = new MembershipService(_validationService);
}
在我的测试中,我可以使用 Moq 执行此操作:
var v = new Mock<ModelStateDictionary>();
_validationService = new ModelStateWrapper(v.Object);
_service = new MembershipService(_validationService);
我似乎无法让 Castle 用 ModelStateWrapper 注入 ModelState。我不知道从哪里开始,似乎我不能只是“忽略它”并尝试手动注入,因为 Castle 正在搜索依赖项并向我抛出一个错误,说存在依赖项。
如何配置 Castle Windsor 以使用基于 IValidationDictionary 的 ModelStateWrapper 并将 ModelState 作为构造函数参数?
劳埃德