我有一个 WPF 客户端,可以调用 2 个 WCF 服务。
一项服务仅用于查询,一项服务用于命令 ( CQS pattern )。
我应该如何调用命令服务?
我在某处读到命令服务中的所有操作必须是“单向”,
因为它们不应该返回任何值。如果出现问题 - 操作应该向客户端抛出“FaultException”。
但是如果命令都是单向的 - 我在客户端做什么?
假设我在 WPF 客户端中有一个“AddProduct”窗口,我输入信息并按“保存”。
我现在在服务中调用“AddProduct(Product)”,但是:
谢谢。
最佳答案
我会说选项 3 是可行的方法,但您可能不需要通用 Result
对象将错误传达给客户端。您可能知道,异常不会在 SOAP 消息中序列化,因此您不会在客户端收到任何常见的 .NET 异常。另一方面,您仍然可以通过捕获 FaultException
来利用 SOAP 错误。在客户端上。因此,如果客户端没有捕获异常,则一切顺利。
有关故障异常的更多信息以及如何使用它们为您带来好处,请查看:
Specifying and Handling Faults in Contracts and Services
关于wcf - WPF 客户端 - 我应该在后台线程中调用 WCF 服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562695/