我有地方,我需要在响应头添加某些P3P值和使用ActionFilterAttribute实现其制定一个asp.net网站API2项目..autofac的NuGet更新改变IAutofacActionFilter实施
在我的开发环境我想实现Autofac 3.5 .2及其web api集成模块3.4。
该文件谈到了使用IAutofacActionFilter实现,我尝试使用它们。
以下是代码..
public void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (actionExecutedContext.Response != null)
actionExecutedContext.Response.Headers.Add("P3P",
"CP=\\\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\"");
}
public void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
}
在我Dependencies.config我说..
builder.Register(c => new myActionFilter())
.AsWebApiActionFilterFor<DefaultController>(c => c.myaction(default(myclass)))
.InstancePerRequest();
因为myaction是异步..,c.myaction(默认值(MyClass的) )抛出警告“因为这个调用没有被等待,所以在调用完成之前继续执行当前方法。考虑在调用结果中应用'await'操作符。”
该应用程序似乎工作,但由于我无法摆脱警告,我决定不在当时实施Autofac。
最近,我们获得了在项目中使用Autofac的权限,今天当我打开应用程序并更新Nuget软件包时,发现Autofac已更新至4.1.0版本,并且已将web api集成模块更新至4.0.0。
现在自Autofac 4.0.0以来,Autofac过滤器接口现在使用基于任务/异步的方法签名而不是同步签名。
不幸的Autofac文档(http://docs.autofac.org/en/latest/integration/webapi.html)仍然显示旧的代码风格,并没有更新。
如果有人知道这种新风格,可以让我知道如何将旧代码更改为新代码,我将衷心感谢。
感谢
没有我dependencies.config源保持不变.. – Arnab