我有一个调用 2 个 WCF 服务的 WPF 客户端。
一项服务仅用于查询,一项服务用于命令(CQS 模式)。
我应该如何调用命令服务?
我在某处读到命令服务中的所有操作都必须是“单向”的,因为它们不应该返回任何值。如果出现问题 - 操作应该向客户端抛出“FaultException”。
但是如果命令都是单向的 - 我在客户端做什么?
假设我在 WPF 客户端中有一个“添加产品”窗口,我输入信息并按“保存”。
我现在在服务中调用“AddProduct(Product)”,但是:
- 它应该关闭窗口吗?
- 是否应该等待 10 秒以查看是否没有任何 FaultException ?
- 操作不应该是“单向”吗?如果是这样 - 命令服务中的所有操作是否应该返回某种类型为“成功”或“失败”的通用“结果”对象?
- 如果第 3 部分为“是”-我是否应该在单独的线程中调用该服务并“禁用”窗口上的所有控件,直到我从该服务得到响应?
谢谢。