我在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个线程中的一个线程不会完成其执行,但新的查询不会在TestMethod中启动。从客户端发送的查询超过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
发布于 2013-02-26 20:52:06
我猜这是关于Silverlight的安全限制,这与防止DOS攻击有关。除此之外,它还与浏览器的配置有关。每个浏览器都有不同的连接限制,比如6次、8次、12次调用。你可以对此进行测试,但不要使用1小时睡眠。:) 10秒将足以检测到。也可以关注this question获取更多信息。
https://stackoverflow.com/questions/14746732
复制相似问题