我正在使用以下代码调用 WCF 服务方法

MyServiceClient proxy = new MyServiceClient();
proxy.Open();
proxy.Func1();
proxy.Close();
// Some other code
proxy.Open();
proxy.Func2();

proxy.Close();

我在第二次调用 'proxy.Open()' 时遇到异常,但有时代码有效。我也可以使用下面显示的以下代码,它可以正常工作。
MyServiceClient proxy = new MyServiceClient();

proxy.Func1();

// Some other code

proxy.Func2();

proxy.Close();

我也想知道调用函数的更好方法是什么。哪种方法会提供更好的性能?

最佳答案

一旦关闭连接,就不能再使用它。

此时您需要创建一个新的 MyServiceClient

MyServiceClient proxy = new MyServiceClient();
proxy.Open();
proxy.Func1();
proxy.Close();

// Some other code

proxy = new MyServiceClient(); // Recreate the client here
proxy.Open();
proxy.Func2();
proxy.Close();

关于.net - 无法访问 WCF 中已处理的对象异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18966181/

10-14 22:49