- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
跟进Authorization Filter Dependency Injection with ASP.New MVC 4 Web Api .有没有办法在所有 Controller 类上全局设置的过滤器上使用依赖注入(inject):
config.Filters.Add(new WebApplicationApiAuthorizeAttribute());
GetFilters
ActionDescriptorFilterProvider
中的方法仅适用于方法级过滤器。
public class UnityWebApiFilterAttributeFilterProvider : ActionDescriptorFilterProvider,
System.Web.Http.Filters.IFilterProvider
{
private readonly IUnityContainer _container;
public UnityWebApiFilterAttributeFilterProvider(IUnityContainer container)
{
_container = container;
}
public IEnumerable<FilterInfo> GetFilters(HttpConfiguration configuration,
HttpActionDescriptor actionDescriptor)
{
var filters = base.GetFilters(configuration, actionDescriptor);
this.BuildUpAttributes(filters);
return filters;
}
private void BuildUpAttributes(IEnumerable filterInfo)
{
foreach (FilterInfo filter in filterInfo)
{
object o = _container.BuildUp(filter.GetType(), filter);
}
}
}
最佳答案
如果您希望注入(inject)这些全局过滤器,则必须从容器中解析它们并将它们添加到过滤器集合中:
GlobalFilters.Filters.Add(container.Resolve<MyFilter>());
var filter = WebApplicationApiAuthorizeAttribute();
container.BuildUp(filter.Gettype(), filter);
GlobalFilters.Filters.Add(filter);
public sealed class UnityActionFilterProxy<TActionFilter> : IActionFilter
where TActionFilter : IActionFilter
{
private readonly IUnityContainer container;
public UnityActionFilterProxy(IUnityContainer container) {
this.container = container;
}
public Task<HttpResponseMessage> ExecuteActionFilterAsync(HttpActionContext context,
CancellationToken token, Func<Task<HttpResponseMessage>> continuation) {
return this.container.Resolve<TActionFilter>().ExecuteActionFilterAsync(
context, token, continuation);
}
public bool AllowMultiple { get { return false; } }
}
GlobalFilters.Filters.Add(
container.Resolve<UnityActionFilterProxy<MyFilter>>());
关于asp.net-mvc - 扩展 ActionDescriptor FilterProvider 以允许类级别过滤器的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22675460/
最近我开始使用 SecurityEntityFilteringFeature。放置在 Jersey 环境中的代码下方。 environment.jersey().register(SecurityEn
我有一个 ASP.NET MVC/WebAPI/AngularJS 应用程序,我想在其中实现 CSRF 保护。我已经找到了一些很好的解决方案,但我遗漏了一 block 拼图。我希望能够自动将自定义 A
下面的两个脚本语句独立工作,但是当它们组合在一起时会导致错误:[$injector:unpr] Unknown provider: searchNameFilterProvider
我看到默认情况下,一个 MVC4 WebApi 项目有 2 个 IFilterProvider:ConfigurationFilterProvider 和 ActionDescriptorFilter
跟进Authorization Filter Dependency Injection with ASP.New MVC 4 Web Api .有没有办法在所有 Controller 类上全局设置的过
我遇到了一个示例 MVC3 代码,它在 Global.asax 文件中包含以下内容: public static void RegisterGlobalFilters(....) { filt
我在 k8s 集群上运行 Flink 1.11 并在尝试更新 log4j-console.properties 文件时收到以下错误: Starting Task Manager Enabling re
我已经对我的 POJO(profile) 对象进行了动态过滤。过滤逻辑工作正常。需要返回过滤后的对象作为响应。但是在返回配置文件对象时, Jersey 层中面临问题 (MappableExceptio
谁能阐明使用自定义 ActionInvoker 的优缺点 like so对自定义 ActionFilter 执行依赖注入(inject),而不是使用自定义 FilterProvider as demo
尝试将我的 Jersey Web 服务从 Moxy 转移到 Jackson json 媒体提供程序,发现了几个我目前无法解决的问题: 首先,moxy 对于同一段代码工作正常,但是因为我们在其他项目中到
我是一名优秀的程序员,十分优秀!