这是在 silverlight 中关闭与 WCF 连接的正确方法吗?
ServiceClient client = new ServiceClient();
client.MakeRequestCompleted += (sender, e) =>
{
client.CloseAsync();
//some implementation goes here
};
for (int i = 0; i < 1000; i++)
{
client.MakeRequestAsync();
}
我似乎遇到了与并发连接相关的问题,当循环达到它发出大约 300 个请求的程度时,它就失败了。谢谢。
最佳答案
我不是专家,但我一直在研究类似的问题,但没有其他人留下答案...
您正在关闭您的客户端,但无法保证您进行 1000 次 Web 服务调用的操作已完成。我还发现很难找到关于 CloseAsync
方法的文档,但是 accepted wisdom似乎是在您完成所有 Web 服务调用后调用 CloseAsync
。
此外,在您的应用程序中进行一千次 Web 服务调用可能很危险 - 显然我不知道您的情况的来龙去脉,但最好将您的调用组合成更少、更大的操作。
关于c# - 在 silverlight 中使用 WCF CloseAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667025/