我需要使用多个任务来完成Web服务端点。每个任务都是流数据,并且将打开httpWebRequest连接。
我需要将属性ServicePointManager.DefaultConnectionLimit设置为大于2的值,但我使用的是可移植框架,并且ServicePointManager类不可用(应该在System.Net中)。
如何在便携式框架中允许更多开放式Web请求?
问候。
答案 0 :(得分:0)
我无法在便携式框架中找到使用webrequest对象的超过2个连接的方法,但我确实找到了一种方法来获得更多的并发连接。 我只是使用HttpClient类。
在我的测试中,使用HttpClient时,可以使用2个以上的并发连接。我试过10并且工作正常。
以下测试有10个并发连接:
var clients = new List<System.Net.Http.HttpClient>();
for (int i = 0; i < 10; i++)
{
var client = new System.Net.Http.HttpClient();
var response = client.GetAsync("http://www.google.com").Result;
clients.Add(client);
}
foreach (var client in clients)
client.Dispose();
这是一种解决方法。然而,我原来的问题仍然没有答案。