2012-05-22 43 views
0

构建使用MSSQL后端的独立WPF应用程序。我想构造它,以便稍后可以通过WCF将其转换为客户端服务器。有一组由客户端和服务器共享的类。我怎样才能构造这个,这样服务器部分就可以通过WCF被移动到一个真正的服务器上,并且保持单个类的整体(或尽可能的整体)。现在我的业务和数据层在单一的.CS中有一个服务器类,一个客​​户端类和一组共享类。我感觉它应该是三个.CS但不确定。WCF架构独立WPF

回答

0

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

显然我是WCF的新手。

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

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

所以在回答我的问题。

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

使用公共属性创建一些简单的类来表示DataContacts。

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

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

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

在stand by app中有一些情况,我们让客户端类连接到SQL,在那里有一个循环并保持一个连接,但留下需要重新考虑WCF的注意事项。我知道我会在这里得到一些安全评论。目前,客户端托管在Citrix,1433端口不向公众开放。这个想法是将产品放置在Citrix上。

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

DataContract将支持继承。
DataContractInheritance

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