我有地方,我需要在響應頭添加某些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