Castle Windsor は初めてで、最新バージョンを使用しています。正常に動作しているリポジトリのエントリを作成しましたが、コントローラーに渡す最後の依存関係が 1 つあります。
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 が依存関係を検索し、依存関係が残っているというエラーをスローするため、「無視」して手動で注入しようとすることはできないようです。
IValidationDictionary に基づいて ModelStateWrapper を使用し、コンストラクターのパラメーターとして ModelState を含めるように Castle Windsor を構成するにはどうすればよいですか?
ロイド