【问题标题】:WCF restriction for the amount of simultaneously proceeding threads from one clientWCF 限制来自一个客户端的同时进行的线程数量
【发布时间】:2013-02-07 08:31:05
【问题描述】:

我在 asp.net 应用程序中创建了 wcf-service,它也托管了 silverlight 应用程序,它只有一种方法:

public void TestMethod(int idRequest)
    {
                System.Diagnostics.Debug.WriteLine(idRequest);
                System.Threading.Thread.Sleep(new TimeSpan(1, 0, 0));
    }

我通过按下按钮从 silverlight 应用程序异步激活此方法:

 private static int countRequest = 0;

    private void Button_Click(object sender, RoutedEventArgs e)
    {
                countRequest++;

                WCFServiceManager.WCFServiceClient serviceRef = new WCFServiceManager.WCFServiceClient();
                serviceRef.TestMethodAsync(countRequest);
    }

只能激活该方法 6 次(我查看 VS,窗口输出),其他查询在该行中,而 6 个线程中的一个不会完成执行,新的一个不会启动测试方法。客户端发送了超过 6 个查询(显示在 httpFox 中)。与限制有什么关系?例如,我们如何将数量从 6 增加到 50?先感谢您。感谢您的帮助。

WS 2010,窗口输出: imageshack.us/a/img580/1416/outputqn.png

HttpFox: imageshack.us/a/img546/6461/httpfox.png

Project, vs2010, silverlight 5.0

【问题讨论】:

标签: wcf web-services silverlight asmx silverlight-5.0


【解决方案1】:

我猜这是与防止 DOS 攻击有关的 Silverlight 安全限制。除此之外,它还与浏览器配置有关。每个浏览器都有不同的连接限制,例如 6、8、12 次调用。您可以对此进行测试,但不要使用 1 小时睡眠。 :) 10 秒就足以检测到。也可以关注this question了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多