我有一个看起来像这样的 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>>()
,因为这不是可测试的......