![](/img/trans.png)
[英]how do i set the etag using the HttpResponseMessage object in mvc 4 web api?
[英]How do I Dispose a HttpResponseMessage in my Web Api Method?
我在所有Wep Api 2控制器上都遇到了Option2000()动词的CA2000错误。
在方法'PromotionController.Options()'中,未沿所有异常路径放置对象'<> g__initLocal0'。
我需要支持针对跨域Ajax调用发出的飞行前请求,因此我正在做的只是返回HttpStatusCode.Ok
以便随后的发布/发布/删除操作将被触发。
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
我已经尝试过using语句,例如:
public HttpResponseMessage Options()
{
using(var response = new HttpResponseMessage())
{
response.StatusCode = HttpStatusCode.OK;
return response;
}
}
但是当我用邮递员的选项请求击中它时,我得到了一个例外:
无法访问已处置的对象。\\ r \\ n对象名称:'System.Net.Http.HttpResponseMessage'。
如何以不会引发代码分析错误的方式返回HttpStatusCode.Ok
?
谢谢!
您可以使用HttpRequestMessage
类的RegisterForDispose
方法RegisterForDispose
要处理的响应对象。 .Net基础结构将在处理请求后处理所有注册的对象。
我不能保证在那之后您不会收到错误,但是该对象将被处置,以便您可以抑制错误。
范例 :
HttpResponseMessage response = Request.CreateResponse();
// Do what you need with response
// ...
// ...
request.RegisterForDispose(response);// response will be disposed by host
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.