这是在Silverlight中关闭与WCF的连接的正确方法吗?在Silverlight中使用WCF CloseAsync
ServiceClient client = new ServiceClient();
client.MakeRequestCompleted += (sender, e) =>
{
client.CloseAsync();
//some implementation goes here
};
for (int i = 0; i < 1000; i++)
{
client.MakeRequestAsync();
}
我似乎有与并发连接有关的问题,当循环达到它提出约300请求时,它只是失败。谢谢。
我看到一个在线实现,建议在已完成的事件中添加“(e作为ServiceClient).CloseAsync()”,从此开始工作。我相信每个异步调用都是与Web服务的唯一连接,它会自动关闭,但不会立即关闭,从而造成导致Web服务请求失败的瓶颈。如果在完成的事件中关闭每个连接,则可以防止出现瓶颈。 – Bablo 2010-10-12 11:38:07
是的,这就是我通常这样做的方式,但是他为1000个并发操作使用了一个客户端对象。谁知道会发生什么? – 2010-10-12 12:14:48