Unity Dependency Injection z Global Web API Filter Attribute

Odwołując się do tegoArtykuł o jedności CodePlex Udało mi się uzyskać atrybut filtra działający z kontrolerem WebAPI w następujący sposób:

[MyFilterAttribute]
public class TestController : ApiController
{}

Jeśli jednak chcę zastosować mój atrybut filtru we wszystkich akcjach za pomocą GlobalConfiguration, zostaje on pozbawiony zależności:

public class MyFilterAttribute : ActionFilterAttribute 
{
    [Dependency]
    public MyDependency { get; set; }

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
         if (this.MyDependency == null) //ALWAYS NULL ON GLOBAL CONFIGURATIONS
             throw new Exception();
    }
 }

public static class UnityWebApiActivator
    {
        public static void Start() 
        {
            var resolver = new UnityDependencyResolver(UnityConfig.GetConfiguredContainer());

            GlobalConfiguration.Configuration.DependencyResolver = resolver;

            GlobalConfiguration.Configuration.Filters.Add(new MyFilterAttribute());

            RegisterFilterProviders();
        }

        private static void RegisterFilterProviders()
        {
            var providers =
                GlobalConfiguration.Configuration.Services.GetFilterProviders().ToList();

            GlobalConfiguration.Configuration.Services.Add(
                typeof(System.Web.Http.Filters.IFilterProvider),
                new UnityActionFilterProvider(UnityConfig.GetConfiguredContainer()));

            var defaultprovider = providers.First(p => p is ActionDescriptorFilterProvider);

            GlobalConfiguration.Configuration.Services.Remove(
                typeof(System.Web.Http.Filters.IFilterProvider),
                defaultprovider);
        }
    }

Czy jest lepsze miejsce na dodanie konfiguracji globalnej?

questionAnswers(1)

yourAnswerToTheQuestion