我有一个由 Web 应用程序和多个 Windows 服务组成的应用程序,根据使用的后端软件版本,只安装一个 Windows 服务。
目前,数据由 Web 应用程序保存在数据库中,然后安装相关服务,然后获取数据并将其发布到安装的后端系统。
我想将其更改为使用 WCF 服务,以便将结果数据直接返回到 Web 应用程序。
我以前没有使用过 WCF 服务,但我假设我可以做这样的事情。
WebApp.Objects.Dll - 包含数据库对象,例如 PurchaseOrder 对象
WebApp.Service.Contracts.dll - 在这里我可以描述服务方法,这将引用 WebApp.Objects.dll,因此我可以将 PurchaseOrder 对象作为参数
WebApp.Service.2011.dll - 这将是 2011 版后端系统的实际服务,这将引用 WebApp.Service.Contracts dll
WebApp.Service.2012.dll - 这将是 2012 版后端系统的实际服务,这将引用 WebApp.Service.Contracts dll
所以,我的问题是,Web 应用程序是否需要知道使用什么后端 WCF 服务的细节?我只想调用具有指定接口的服务,而不关心它是如何实现的或它在内部做什么,而只是返回在后端系统中创建的采购订单(无论是返回接口还是具体类)
我是否能够创建服务客户端而不需要知道它是使用 2011 还是 2012 WCF 服务?