2011-10-31 88 views
0

builder.RegisterFilterProvider();如何使用autofac mvc3注入全局過濾器屬性?

這可以注入像一個動作過濾器寫一個屬性:

[TestFilter] 
public ActionResult SomeAction(){...} 

但在Global.asax的像

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 

    filters.Add(new TestFilterAttribute()); 

} 

我能做不能注入一個全球性的濾波寄存器別的東西?

+0

您好,歡迎來到SO。這是不是很清楚你在這裏問什麼。如果你可以給我們更多關於你想要做什麼的細節,那麼我們可以幫助你。 – Aren

回答

1

設置該屬性上註冊的Global.asax全局過濾器時

filters.Add(new TestFilterAttribute() { TObj=AutofacDependencyResolver.Current.ApplicationContainer.Resolve<ITest>() }); 

我嘗試一些方式

上述所有不
builder.RegisterType<TestFilterAttribute>().PropertiesAutowired() 

builder.RegisterType<TestFilterAttribute>().OnActivating(x=>x.Instance.TObj=x.Context.Resolve<ITest>()) 

builder.RegisterType<TestFilterAttribute>().WithProperty("TObj",new Test()) 

工作

builder.RegisterType<TestFilterAttribute>().PropertiesAutowired(); 

和過濾器註冊代碼如:

filters.Add(AutofacDependencyResolver.Current.ApplicationContainer.Resolve<TestFilterAttribute>()); 
相關問題