我需要使用多个将达到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/

10-13 03:23