Ema*_*mad 5 c# wcf latency header httpwebrequest
在禁用来自我的WCF托管客户端的HttpWebRequests的Expect100Continue标头时,通过将以下内容添加到配置文件的settings部分:
ServicePointManager.Expect100Continue=false
Run Code Online (Sandbox Code Playgroud)
我注意到客户端在发送HTTP POST请求和包含实际有效负载的以下TCP数据包之间等待大约150毫秒.
任何线索为什么会发生这种情况?这是意料之外的,因为在禁用此标头时,我希望在初始请求之后立即发送有效负载而没有延迟.
因此,.NET 默认情况下使用 Naggle 算法对分块有效负载进行分组,以提高 TCP 效率。这导致了延迟,为了消除这种延迟,我们必须设置:
ServicePointManager.UseNaggleAlgorithm=false.
Run Code Online (Sandbox Code Playgroud)
这将延迟从 150 毫秒更改为几毫秒。
| 归档时间: |
|
| 查看次数: |
663 次 |
| 最近记录: |