c# - 在 silverlight 中使用 WCF CloseAsync

标签 c# silverlight wcf

这是在 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/

相关文章:

c# - 未实现 WCF 接口(interface)

c# - 教 friend 儿子 C#,在他的笔记本电脑上设置 IDE 的最简单方法?

c# - 表达式体成员与 Lambda 表达式

c# - MVVM Light 按键注册界面

c# - asp.net 如何一次性销毁所有 session ?

silverlight - 在 TFS 2010 版本中运行 Silverlight 单元测试

silverlight - 如何防止用户调整 silverlight 浏览器外窗口的大小?

linux - 使用 Apache2 的 Linux 上的 WCF 服务

c# - 工具包图表旋转标签 X 轴

c# - 验证当前经过身份验证的 Windows 用户是否具有委派权限