我有第三方网络服务,我打算在2个不同的应用程序中使用它:
现在,从这两个应用程序中我手动添加对第三方Web服务的引用。调用所需的方法。这意味着我在两个地方生成了这个代理层。
正在寻找的是一种方法来创建(我不确定正确的用词,对不起的家伙)第三方网络服务在一个地方&让2个应用程序重复使用它。
可以使用WCF实现这一点,例如在WCF中包装第三方Web服务。
这种做法是否合适?任何帮助或指示都会有很大的帮助,没有做过太多基于服务的开发。
环境:网站,WF项目驻留在2个不同的服务器上(Windows 2003 R2)。
环境(开发):windows 7 enterprise / vs 2010 / c#
由于
更多细节:
想想我在我的第一个查询中使用了正确的单词,以下是我正在寻找的内容。为什么我需要它,我需要从新的WCF服务调用第三方Web服务。这个新的WCF服务将从其他应用程序(winforms / WF /网站)调用,而不是调用第三方服务。这个想法是能够在不改变实施的情况下切换第三方服务(vendore)在一个地方。我们使用hr-xml格式的请求/响应&我们所有的供应商(现有的或未来的)都支持我们所在行业的hr-xml格式。如果我们使用类库,那么要更改供应商,我们应该重新编译&正确分配dll,我们不想这样做。我不确定要实现这整个功能的架构。正确方向的任何指针都将是一个很大的帮助。
由于
答案 0 :(得分:2)
你的任务确实很有意义 - 我认为应该很容易实现:
Add Service Reference
- 这将创建必要的WCF代理类和配置文件从这两个应用程序中,您应该能够引用该Web服务客户端程序集并使用它 - 您只能在该公共程序集中使用客户端代理的代码,但您可以从任意数量的应用程序中使用它。
需要记住的一点是:您需要将Web服务的配置复制并粘贴到主应用程序的配置中(app.config
用于Winforms /控制台应用程序,web.config
用于网站/ Web应用程序)因为它不能直接从类库的配置文件中读取(.NET不会使用它)。
答案 1 :(得分:0)
在这种情况下,我认为,WCF服务将是gr8的想法。如果更改供应商,您不想重新组合客户端应用程序。