【发布时间】:2015-11-23 16:48:19
【问题描述】:
我正在尝试控制HttpListener 中单个连接的最大总持续时间。我知道TimeoutManager 属性和它包含的5 个左右不同的超时值,但不清楚设置这些值中的每一个是否会加起来可能会在连接中发生延迟的总位置。
我正在寻找更多类似于以下内容的内容:“如果我们有一个从打开连接到现在持续时间超过 xs 的连接,请在不发送任何其他内容或等待其他任何内容的情况下中止它。”
编辑
为了澄清,我正在试验的场景涉及服务器尝试发送响应而客户端未接收。这会导致HttpListenerResponse.OutputStream.Write() 无限期挂起。我试图找到一种可以从另一个线程调用来硬中止连接的方法。我尝试使用OutputStream.Close() 并得到Cannot Close Stream until all bytes are written。我也试过HttpListenerResponse.Abort() 没有产生明显的效果。
【问题讨论】:
标签: c# httplistener