【发布时间】:2012-08-08 13:34:31
【问题描述】:
我刚刚开始学习 WCF,而且我完全没有网络背景。
我已经构建了一个 3 层桌面应用程序,它编译成一个 exe,在本地运行。
现在我想将整个业务逻辑层移动到一个中心服务器,并使 GUI 成为客户端应用程序。
据我了解,WCF 应该是我的解决方案,因为它确实帮助我实现了我想要的。
我可以运行远程功能,这是我需要的基本功能。
我现在的问题是我不太了解架构。
例如,我的一项服务从我的业务逻辑层返回一个数据类型(类)。
此类通过 WCF 机制自动对客户端可用。
但问题是,这个类包含一些方法,我绝对不想暴露给客户端。
例如 Save 方法(保存到数据库)。
此外,有时我什至不想让客户端更改类的所有属性,因为此类可能会发送到我的服务之一。
我不想重新验证服务中的类实例。
我该怎么办?我是否应该构建另一层、受限版本的业务逻辑,并将其公开给客户端?或者有什么办法只向客户端公开我的类的一部分,而不限制它自己的服务器?
我知道这是一个基本问题,但老实说,在问这里之前我已经搜索了很多。我的问题是我不太清楚要搜索什么。
那么我的第二个问题是,您对任何可以解释我这种架构的资源有什么建议吗...?
【问题讨论】:
-
我认为抽象数据传输对象层会更好。如果您需要从 wcf 切换,这是一种更灵活且更便携的方法。
标签: c# wcf architecture