У меня ValidationAttribute который выглядит следующим образом:Autofac инъекции собственности с ValidationAttribute
public class RegistrationUniqueNameAttribute : ValidationAttribute
{
public IRepository<User> UserRepository { get; set; }
public override bool IsValid(object value)
{
//use UserRepository here....
}
}
В моей установке контейнера (в начале приложения) у меня есть это:
builder.Register(c => new RegistrationUniqueEmailAttribute
{
UserRepository = c.Resolve<IRepository<User>>()
});
Однако при отладке , значение UserRepository всегда равно null, поэтому свойство не вводится.
Я установил свой контейнер неправильно?
я действительно предпочел не использовать DependencyResolver.Current.GetService<IRepository<User>>()
, как это не так проверяемым ...
ValidationAttributes не создаются Autofac. Сама CLR отвечает за их создание. – Steven
И так .........? – Alex
Этот вопрос подразумевает, что он должен работать? http://stackoverflow.com/questions/12505245/autofac-and-di-for-validationattribute – Alex