2014-09-21 97 views
0

我正在与思科呼叫控制API(CURRI)集成。HTTP响应连接保持活动

其中一个要求是,他们会向我发送一个带有连接保持活动标头请求的空白请求,并且我必须响应标头响应中的连接保持活动状态。

我已经创建了处理请求的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 

正如你可以看到我已经添加的连接保持活动专门响应头。

但是,当我在Fiddler中查看时,Connection Keep Alive从响应中丢失(丢失)。有趣的是,Keep Alive超时和最大值包含在响应中。

我检查了我的IIS并且是HTTP Keep Alive已打开。

任何人有任何想法?

回答

0

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

因此,对于CURRI工作的任何人都不要太担心“Connection:Keep-Alive”缺失。

只需确保两两件事:

  • 设置Response.BufferOutput为False送 “TransferEncoding:分块”

  • 重启CISCO框,如果你认为一切正常,但仍没有按“T 工作

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