首页 > 解决方案 > 从客户端自动设置属性

问题描述

我有点进退两难。考虑以下系统:

在此处输入图像描述

以及以下 API:

IModule GetModule(string moduleName);
void SetModule(string moduleName);

每个模块都包含一堆参数。

典型的工作流程如下:

现在我在这个工作流程中遇到的问题是,当 Client1 更改参数时,第二个客户端可能会基于对系统内部状态的错误假设来做某事。

因此,需要将消息传递添加到此实现中以保持客户端同步,但在此之前,真正有帮助的是摆脱 SetModule() 方法并让参数在其值更改时自动更新在客户端。
问题是在客户端我们实际上有一个对象的副本而不是实际的系统对象,所以甚至有可能做这样的事情:

moduleA = GetModule(string moduleName);
moduleA.enable = true;    ->   But when doing this, the setter for this parameter is called to directly update the param value from within the system instead of the local copy.

标签: c#wcfservicepropertiessetter

解决方案


推荐阅读