我正在使用ASP.NET WebApi。 我正在创建一个PUT方法在我的控制器之一中,代码如下:
public HttpResponseMessage Put(int idAssessment, int idCaseStudy, string value)
{
var response = Request.CreateResponse();
if (!response.Headers.Contains("Content-Type"))
response.Headers.Add("Content-Type", "text/plain");
response.StatusCode = HttpStatusCode.OK;
return response;
}
我通过AJAX在浏览器中访问该位置时进行PUT操作,它会给我返回以下异常:
使用不当的标头名称。请确保请求标头与HttpRequestMessage一起使用,响应标头与HttpResponseMessage一起使用,以及内容标头与HttpContent对象一起使用。
但是,Content-Type
不是响应的一个合法的标头吗?为什么会出现这个异常?
.Content
为空),怎么办?我想即使没有内容,也要设置Content-Type头,否则Firefox会报“未找到元素”的错误。 - Jezresponse.StatusCode = HttpStatusCode.NoContent
而不是添加 Content-Type 头字段。 - dtbresponse.Content = new StringContent("");
十分好用。不过我还在想为什么response.Headers
会存在。 - Jez