2011-10-31 6 views
0

builder.RegisterFilterProvider();autofac mvc3을 사용하여 전역 필터 속성을 주입하는 방법은 무엇입니까?

이 같은 조치에 필터 쓰기의 속성을 삽입 할 수 있습니다

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

그러나

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 

    filters.Add(new TestFilterAttribute()); 

} 

내가 할 수있는 것처럼 Global.asax에에서 글로벌 필터 레지스터를 삽입 할 수 없습니다 다른 것? Global.asax에에 글로벌 필터를 등록 할 때

+0

안녕하십니까. 당신이 여기서 묻고있는 것이 분명하지 않습니다. 자신이하려는 일에 대해 더 자세히 설명해 주시면 아마도 우리가 도와 줄 수있을 것입니다. – Aren

답변

1

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>()); 
관련 문제