这可能只是一些概念问题,但我似乎找不到理想的解决方案。
我想创建一个 Silverlight 客户端应用程序,它使用 WCF 通过一些自写的 web 服务来控制第三方应用程序。如果有多个 Silverlight 客户端,则应同步所有客户端,即应将来自一个客户端的参数更改传播到所有客户端。
我设置了一个非常简单的 Silverlight GUI,它处理传递给服务器的参数(类继承 INotifyPropertyChanged):
public double Height
{
get { return frameworkElement.Height; }
set
{
if (frameworkElement.Height != value)
{
frameworkElement.Height = value;
OnPropertyChanged("Height", value);
}
}
}
OnPropertyChanged 负责传输数据。WCF 服务 (duplex net.tcp) 维护所有客户端的列表,一旦它接收到数据包(带有参数更改描述的 XElement),它就会将此包转发给所有客户端,但接收包的客户端除外。
客户收到包裹,但现在我不确定,在内部设置属性的最佳方法是什么。如果我使用“高度”(见上文),则会生成新的更改消息并将其发送给所有其他客户端
也许我可以使用数据字段 (frameworkElement.Height) 本身或函数 - 但我不确定以后是否会出现数据绑定问题。此外,我不想简单地复制部分代码属性,以防止出现冗余代码的错误。
那么你会推荐什么?
谢谢!