我已经在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
答案 0 :(得分:2)
我猜这是关于Silverlight安全限制,它与防止DOS攻击有关。除此之外,它还与浏览器配置有关。每个浏览器都有不同的连接限制,例如6,8,12个呼叫。您可以测试此但不要使用1小时睡眠。 :) 10秒将被检测到。有关详情,请点击this question。