как внедрить глобальное свойство фильтра с помощью autofac mvc3?

#autofac

#autofac

Вопрос:

builder.RegisterFilterProvider();

Это может ввести свойство в filter write для такого действия, как:

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

Но не удается внедрить глобальный регистр фильтра в global.asax, например

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{

    filters.Add(new TestFilterAttribute());

}
 

Могу ли я сделать что-то еще?

Комментарии:

1. Здравствуйте, Добро пожаловать в SO. Не совсем понятно, о чем вы здесь спрашиваете. Если вы можете рассказать нам более подробно о том, что вы пытаетесь сделать, возможно, мы сможем вам помочь.

Ответ №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>());