我需要使用多个将达到Web服务终点的任务。每个任务将是流数据,并将打开httpWebRequest连接。
我需要将属性ServicePointManager.DefaultConnectionLimit设置为大于2的值,但是我使用的是可移植框架,并且ServicePointManager类不可用(应该在System.Net中)。
如何在可移植框架中允许更多开放的Web请求?
问候。
最佳答案
在可移植框架中,我找不到使用webrequest对象拥有两个以上连接的方法,但确实找到了具有更多并发连接的方法。
我只是在使用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();
这是一种解决方法。但是,我最初的问题仍然没有答案。
关于c# - 如何在可移植框架中设置ServicePointManager.DefaultConnectionLimit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25341468/