c# – 在WinRT的HttpClient类中使用Keep-Alive连接?
发布时间:2020-12-16 01:53:26 所属栏目:百科 来源:网络整理
导读:打开与服务器的连接时,我们的WinRT应用程序速度极慢.请求需要大约500毫秒才能运行.这阻碍了我们的一些场景. 在调试时,我们注意到当Fiddler处于活动状态时,请求要快得多 – 每个请求约100ms.稍后我们理解这是因为Fiddler在代理呼叫时使用了Keep-Alive连接,这
打开与服务器的连接时,我们的WinRT应用程序速度极慢.请求需要大约500毫秒才能运行.这阻碍了我们的一些场景.
在调试时,我们注意到当Fiddler处于活动状态时,请求要快得多 – 每个请求约100ms.稍后我们理解这是因为Fiddler在代理呼叫时使用了Keep-Alive连接,这使我们的代理呼叫更快. 我们以两种方式对此进行了双重检查. >我们将UseProxy设置为false,并观察到请求恢复缓慢. 我们尝试通过Connection头启用keep-alive(.Connection.Add(“Keep-Alive”))但这似乎没有任何影响 – 事实上,.NET组件似乎公然忽略了标头,并且没有按要求发送(再次通过Fiddler检查). 有谁知道如何在Windows 8,WinRT,HttpClient类中为请求设置keep-alive? 解决方法
以下设置正确的标题为我启用keep-alive(客户端是一个HttpClient)
client.DefaultRequestHeaders.Connection.Clear(); client.DefaultRequestHeaders.ConnectionClose = false; // The next line isn't needed in HTTP/1.1 client.DefaultRequestHeaders.Connection.Add("Keep-Alive"); 如果你想关闭keep-alive,请使用 client.DefaultRequestHeaders.Connection.Clear(); client.DefaultRequestHeaders.ConnectionClose = true; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |