У меня установлен атрибут проверки, где мне нужно попасть в базу данных, чтобы выполнить проверку. Я попытался настроить внедрение свойств так же, как и в других частях проекта, но это не сработало. Какой шаг мне не хватает?
public class ApplicationIDValidAttribute : ValidationAttribute
{
[Inject]
protected IRepository<MyType> MyRepo;
public override bool IsValid(object value)
{
if (value == null)
return true;
int id;
if (!Int32.TryParse(value.ToString(), out id))
return false;
// MyRepo is null here and is never injected
var obj= MyRepo.LoadById(id);
return (obj!= null);
}
Еще одна вещь, на которую стоит обратить внимание, у меня есть ядро Ninject, настроенное для внедрения закрытых свойств, поэтому я не думаю, что это проблема. Я использую Ninject 2, MVC 2 и версию MVC 2 Ninject.Web.MVC.
Спасибо!