0

构建使用 MSSQL 后端的独立 WPF 应用程序。我想对其进行结构化,以便以后可以通过 WCF 将其转换为客户端服务器。有一组由客户端和服务器共享的类。我该如何构造它,以便稍后可以通过 WCF 将服务器部件移动到真正的服务器并保持各个类的整体(或尽可能整体)。现在,我在单个 .CS 中拥有业务和数据层,具有单个服务器类和一个客户端类和一组共享类。我觉得应该是三个 .CS 但不确定。

4

1 回答 1

0

由于我没有收到任何回复,因此我构建了一个测试 WCF 应用程序来尝试回答自己。

显然我是 WCF 的新手。

客户端和服务器之间的 WCF 是 ServiceContracts 和 DataContracts。这些是在服务器端定义的。客户端发现这些合约并将它们作为类型公开。

ServiceContract 是一种方法。DataContract 是一个只有属性的类(好吧,它可以做更多,这只是一个简化)。

所以回答我的问题。

使用代表服务器端的方法创建一个类。

创建一些仅具有公共属性的简单类来表示 DataContacts。

对于代表服务器端的方法的输入和输出,只传递这些简单的类。

使用这些简单的类作为您的工作客户端类的构造函数的输入。

试金石是没有客户端类连接到 SQL。

在支持应用程序的某些情况下,我们让客户端类连接到具有循环并保持连接的 SQL,但留下需要为 WCF 重构的注释。我知道我会在这里得到一些安全评论。目前,客户端托管在 Citrix 中,端口 1433 未向公众开放。这个想法是定位产品以放弃思杰。

服务器方法是公开的接口,因此您可以在不更改合同的情况下更新实现。

DataContract 将支持继承。
数据合约继承

如果有人有更好的答案,我很乐意接受。

于 2012-05-24T14:34:59.647 回答