我试图控制
我想要的是更接近于以下内容:“如果我们有一个连接从打开连接到现在持续了x秒以上,则中止该连接,而不发送任何其他内容或等待任何其他内容。”
编辑:
为了澄清,我正在尝试的场景涉及服务器尝试发送响应而客户端未收到。这会导致
HttpListener
中单个连接的最大总持续时间。我知道TimeoutManager
属性和其中包含的5个或更多不同的超时值,但不清楚设置这些值是否会累加到连接中可能发生延迟的总次数。我想要的是更接近于以下内容:“如果我们有一个连接从打开连接到现在持续了x秒以上,则中止该连接,而不发送任何其他内容或等待任何其他内容。”
编辑:
为了澄清,我正在尝试的场景涉及服务器尝试发送响应而客户端未收到。这会导致
HttpListenerResponse.OutputStream.Write()
无限期挂起。我试图找到可以从另一个线程调用以强制中止连接的方法。我尝试使用OutputStream.Close()
并得到“所有字节都写入后才能关闭流”的错误消息。我还尝试过HttpListenerResponse.Abort()
,但没有看到任何效果。