【发布时间】:2009-12-11 12:04:21
【问题描述】:
我有一个 WPF 应用程序,到目前为止它只是客户端,但现在我正在努力将其拆分为客户端和服务器端。在这项工作中,我介绍了用于客户端-服务器通信的 WCF。我的应用程序有多个项目,并且需要来自多个项目的服务引用。
进行分离的最初努力是“直截了当地”做所有事情。所有需要与服务通信的项目都会获得一个服务引用,主 WPF 应用程序项目也是如此——在那里获取 app.config。我发现这很快就会变成一团糟,我无法想象这是人们使用的典型架构?我还看到每个服务引用都会生成 DataContract 类的新实现这一事实的问题——因此对跨项目的 DataContract 类没有共同的理解。我在一个项目中有一些 ViewModel 类,另一个项目实例化了一些 ViewModel。我想传递从服务接收到的对象,但我不能传递接收到的对象的生成的客户端表示在每个项目中都不同。
那么 - 有没有推荐的方法来使用 WCF 构建这种客户端/服务器分离?还是要遵循的原则?我在想一个在客户端使用的通用代理项目,它与服务进行通信,包装接收到的数据,并以客户端库熟知的表单返回数据。应该只提供一个服务参考,我想我只需要 wpfApp-project 中的 App.config 吗?这有意义吗?
【问题讨论】:
标签: .net wcf architecture structure