3
我有一個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的值始終爲空,所以屬性沒有被注入。
我把我的容器設置錯了嗎?
我真的寧可不要使用DependencyResolver.Current.GetService<IRepository<User>>()
,因爲這是沒有檢驗的......
ValidationAttributes不受Autofac創建。 CLR本身負責創建它們。 – Steven 2013-04-08 13:46:06
等.........? – Alex 2013-04-08 14:21:36
這個問題意味着它應該工作? http://stackoverflow.com/questions/12505245/autofac-and-di-for-validationattribute – Alex 2013-04-08 14:44:24