当前位置: 首页 > 知识库问答 >
问题:

无法在HttpResponseMessage标头上设置Content-Type标头?

呼延曜灿
2023-03-14

我正在使用ASP.NET WebApi创建一个RESTful API。我正在我的一个控制器中创建一个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使用浏览器将其放到该位置时,它给出了以下例外情况:

标头名称使用不当。确保请求标头与HttpRequestMessage一起使用,响应标头与HttpReponseMessage一起使用,内容标头与HttpContent对象一起使用。

但是content-type不是一个完全有效的响应头吗?为什么我会得到这个例外?

共有1个答案

西门山
2023-03-14

请查看HttpContentTheAders.ContentType属性:

response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
if (response.Content == null)
{
    response.Content = new StringContent("");
    // The media type for the StringContent created defaults to text/plain.
}
 类似资料:
  • 问题内容: 测试golang网络应用程序时出现问题。在已部署的版本中,nginx位于应用程序的最前面,并进行显式设置,以便所有文本内容类型都附加一个字符集声明。 在测试中,我直接打了golang应用程序,这里的内容类型没有字符集。尝试提供类似d3这样的库时,这会导致问题: 由于golang未指定字符集,因此这些字符在chrome中呈现为: 使golang http服务器在HTTP标头上输出char

  • 如何在nodejs中发送文件,我正在创建一个页面应用程序,所以我只想abcd.html页面首次按要求交付,这是我的代码 app.js 对页面的响应 发送后,它总是给出无法设置的标题,下面是控制台输出 错误:SendStream禁止。SendStream出错(/home/pitu/CODING/NODE-PROJECTS/chichat/NODE\u modules/express/NODE\u m

  • 我无法在HttpClient上设置内容类型。我接着问了一个问题:如何为HttpClient请求设置Content-Type头?但还是没有运气。 所以我怎么能强迫它,这样它就真的添加了它呢?提前道谢。

  • 问题内容: 将标头发送到客户端后,无法设置标头。这是请求验证后的后端错误,看起来像标头问题。我为我的项目脏代码感到抱歉,我还需要做其他事情,因此在注释中有一些代码。这是我的代码 您可以在我的代码中发现其他错误,因为我尝试了许多不同的方法。这是passport.js配置文件 这是身份验证的ajax请求 非常感谢你。 问题答案: 这是由于您的代码试图从authenticate函数发送多个响应。 删除其

  • 问题内容: 我不太确定为什么会收到此错误。这是一个基于express.js的简单API,能够添加和删除帖子。当我触发删除路由器时发生错误。我读到错误通常在有两个回调的情况下发生,但是,我似乎找不到任何双重回调。 这是我的posts.js路由器: 问题答案: 您需要添加“返回”,这样您就不会再次回答。