【问题标题】:WCF service Single proxy instance with multiple endpointsWCF 服务具有多个端点的单个代理实例
【发布时间】:2013-08-14 14:50:19
【问题描述】:

我开发了一个托管在 Windows 服务中的 WCF 服务,该服务将向第三方 Web 服务发送请求并期望得到响应。所以我得到的只是托管它的第三方服务的 url/wsdl 信息。

我想实现一个测试服务,它会响应我的请求,并通过将 Visual Studio 中的服务引用添加到实际服务来创建该服务的单个代理。因此可以有任意数量的第三方应用程序将来会提供他们的网址进行交流。

我关于 WCF 的问题是,我可以创建一个单一的代理客户端,然后将请求发送到基于 url 的 web 服务吗?是否可以通过动态传递绑定和地址参数来为 HTTP 和 HTTPS 使用相同的代理客户端?

【问题讨论】:

    标签: c# wcf windows-services


    【解决方案1】:

    创建代理后,您将无法更改其地址。您可以有多个开放代理,每个第三方一个。此外,单个代理不能用于 http 和 https,因为它们使用不同的绑定(除了上述原因)。

    这种行为的一个原因(可能与您的情况相关也可能不相关)是代理可以与服务器保持状态,例如开放的安全会话。

    【讨论】:

    • 我终于能够理解 wcf 的工作原理了。所以我尝试使用 channelfactory 并能够将请求发送到 3rd 方服务。但我再次对调用我拥有的频道感到震惊在通道中为各个端点传递合同信息。有没有办法我可以通过通道工厂从配置文件的端点传递服务名称?
    • 不确定您的意思。当您创建通道时,您需要通过合同。相反,如果您通过“添加服务引用”生成代理并实例化它,那么您可以将配置中的名称作为字符串提供
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多