我在所有Wep Api 2控制器上爲Options()動詞獲取了CA2000錯誤。如何在Web Api方法中配置HttpResponseMessage?
在方法'PromotionController.Options()'中,對象'<> g__initLocal0'沒有沿着所有異常路徑放置。
我需要支持跨域AJAX做飛行前的請求調用,因此所有我做的是返回HttpStatusCode.Ok
從而使隨後的後/ PUT /刪除將火熄滅。
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
我曾嘗試使用的語句是這樣的:
public HttpResponseMessage Options()
{
using(var response = new HttpResponseMessage())
{
response.StatusCode = HttpStatusCode.OK;
return response;
}
}
但是當我從郵遞員的選項要求打它,我得到一個異常:
無法訪問處理對象。\ r \ n對象名稱:'System.Net.Http.HttpResponseMessage'。
如何以不會拋出代碼分析錯誤的方式返回HttpStatusCode.Ok
?
謝謝!
好了,爲什麼你不使用Owin/CORS,或CORS的WebAPI? –
請參閱[此前答案](http://stackoverflow.com/questions/11361912/how-do-i-dispose-of-resources-after-an-asp-net-web-api-request-completes)和[這一個](http:// stackoverflow。com/q/27715327/1260204) – Igor
@Igor我在搜索時看到了這篇文章,但從我所看到的,HttpResponseMessage不支持RegisterForDispose。只有HttpRequestMessage可以。 – Elliott