【问题标题】:HTTP Response Connection Keep Alive is droppedHTTP 响应连接保持活动被丢弃
【发布时间】:2014-09-21 04:52:44
【问题描述】:

我正在努力与 Cisco 呼叫控制 API (CURRI) 集成。

其中一个要求是他们将向我发送一个带有 Connection Keep Alive 标头请求的空白请求,我必须在标头响应中使用 Connection Keep Alive 进行响应。

我已经创建了处理请求的 ashx 处理程序。

Public Class Curri
    Implements System.Web.IHttpHandler

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        context.Response.AddHeader("Connection", "Keep-Alive")
        context.Response.AddHeader("Keep-Alive", "timeout = 20000 max = 1000")

    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

如您所见,我已将 Connection Keep Alive 专门添加到响应标头中。

但是,当我在 Fiddler 中查看时,连接保持活动已从响应中删除(丢失)。有趣的是,响应中包含了 Keep Alive 超时和最大值。

我检查了我的 IIS,是的,HTTP Keep Alive 已开启。

有人知道吗?

【问题讨论】:

    标签: c# asp.net vb.net http-headers cisco


    【解决方案1】:

    事实证明,即使我没有发送“Connection: Keep-Alive”作为响应,它仍然可以工作。

    因此,对于任何从事 CURRI 工作的人,不要因为缺少“连接:保持活动”而分心。

    只需确保两件事:

    • 将 Response.BufferOutput 设置为 False 以发送“TransferEncoding: chunked”

    • 如果您认为一切正常,但仍然不行,请重新启动 CISCO 机器 工作

    另外看看如何在 Fiddler 中设置 ReverseProxy 来帮助你监控 HTTP 请求/响应

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-24
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多