【问题标题】:mvc 4 web api add custom response http headermvc 4 web api添加自定义响应http标头
【发布时间】:2012-11-09 08:02:49
【问题描述】:

我们可以在默认响应标头旁边添加额外的 http 响应标头项目示例“上次更新”吗?

我调用(请求)时的示例:
localHost:12345/API/GetInfo
带标题:
主机:localHost:12345
......


然后 api 将使用 (Response):
回复标头 HTTP/1.1 200 正常
内容长度:XX
Content-Type:XXX
Last-Update:API 函数生成的值和值

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 http-headers asp.net-web-api


    【解决方案1】:

    您可以使用以下代码添加标题:

    HttpContext.Current.Response.AppendHeader("Last-Update", value);
    

    【讨论】:

    • 谢谢兄弟。我修改为 HttpContext.Current.Response.AppendHeader("Last-Update", value);
    • 哦,对不起,我的错误。我确定了我的答案。你不客气)
    • 不使用System.Web.HttpContext的任何方式?
    • 不鼓励这样做,自托管意味着HttpContext.Current 不可用,所以这并不总是有效。
    • 我遇到了另一个问题:当浏览器执行下一个请求时。它不包括返回服务器的标题“Last-Update”。如何让浏览器从之前的响应中返回所有标题?
    【解决方案2】:

    仅供参考,有一个官方 HTTP 标头可用于表示资源上次更新的日期时间。

    它是“Last-Modified”标头(规范的See section 14.29 on Section 14 page)。

    您将其添加到您的回复中,如下所示:

    Response.Content.Headers.LastModified = yourResource.LastUpdatedDateTime;
    

    【讨论】:

    • 对不起,我正在寻找自定义响应标头(可以是其他日期之外),您的答案是标准响应标头。
    【解决方案3】:

    在 MVC 5 中只需添加

     Response.AppendHeader("header", "value");

    【讨论】:

      【解决方案4】:

      我刚刚找到了解决方案。 我需要做的是,以 cookie 格式响应 HTTP 标头。这样,浏览器将始终将其返回到我的网络服务器。

      【讨论】:

        猜你喜欢
        • 2012-11-09
        • 2019-02-06
        • 2013-09-18
        • 2013-12-19
        • 2018-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-13
        相关资源
        最近更新 更多