与WPF浏览器的并发连接

时间:2013-01-22 12:09:23

标签: .net wpf webbrowser-control signalr

我正在尝试针对SignalR运行一些测试,以便我们可以在我们的产品中使用它,但首先需要通过一个已设置的小负载测试。

我做了什么是写了一个小应用程序,它基本上创建了x个WPF浏览器控件并将它们指向我的机器..这样可以正常工作所有JavaScript和一切工作..

我的问题是只有2个x浏览器连接到Signal R,我看了一下,显然它与并发连接有关,所以我试着设置

  <system.net>
<connectionManagement>
  <add address="*" maxconnection="100" />
</connectionManagement>

但这不起作用,我也尝试了

     ServicePointManager.DefaultConnectionLimit = 200;

也没有解决它..

我把我的头发拉出来试图让它发挥作用!有任何想法吗?我不能只用2个连接客户端进行负载测试嘿嘿!

一些代码;

  private void Create(object o)
    {

        for (int i = 0; i < this.Users; i++)
        {
            StressResult result = new StressResult { BrowserInstance = new WebBrowser(), Id = i };

            this.Results.Add(result);
        }

    }

    private void StartRun(object obj)
    {
        foreach (StressResult result in this.Results)
        {
            result.BrowserInstance.Navigate(this.Target);
        }
    }

首先运行Create,以便浏览器可以加载,然后我们最终进行导航。

1 个答案:

答案 0 :(得分:2)

WPF浏览器组件很可能是非托管Internet Explorer核心Web浏览器组件的包装器。 尝试按照描述更改注册表项:

  1. 启动注册表编辑器。
  2. 在注册表中找到以下项:HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings
  3. 在“编辑”菜单上,指向“新建”,单击“DWORD值”,然后添加以下注册表值: 值名称:MaxConnectionsPer1_0Server
    价值数据:10
    基数:十进制
    值名称:MaxConnectionsPerServer
    价值数据:10
    基数:十进制
  4. 对于Internet Explorer 8&amp; 9和全局密钥以及GPO,请参阅下面的链接。

    这篇知识库文章对此进行了描述:
    How do I configure Internet Explorer to download more than two files at one time?

    另请参阅:SignalR and Browser Connection limit