У меня установлен атрибут проверки, где мне нужно попасть в базу данных, чтобы выполнить проверку. Я попытался настроить внедрение свойств так же, как и в других местах проекта, но он не работает. Какой шаг я пропускаю?
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 и версию Ninject.Web.MVC для MVC 2.
Спасибо!