public IHttpController Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
        {
            var scope      = _container.BeginScope();
            var controller = (IHttpController)this._container.Resolve(controllerType);

            var filters = controllerDescriptor.GetFilters();

            foreach (IFilter actionFilter in filters)
            {
                _container.Kernel.InjectProperties(actionFilter);
            }

            request.RegisterForDispose(
                new Release(
                    () =>
            {
                this._container.Release(controller);
                scope.Dispose();
            }));

            return(controller);
        }
Exemple #2
0
 public override Collection <Filters.IFilter> GetFilters()
 {
     return(_innerDescriptor.GetFilters());
 }