是否可以在不更改 WCF 服务的情况下使用 Azure 服务总线中继从 Azure 连接到本地 WCF Web 服务

Is it possible to connect to a WCF web service on premise from azure using Azure Service bus relays without changing WCF service

我必须在 WCF 服务中添加一个服务总线端点,以便使用中继从 Azure 服务总线与其进行通信。

现在我在内部部署的服务很少,我无法更改其配置。是否可以在不添加服务总线端点的情况下与那些通信?

我有权访问的一项服务,我添加了另一个这样的服务端点及其工作

   <service name="Service.ProblemSolver">
        <endpoint contract="Service.IProblemSolver"
                  binding="netTcpBinding"
                  address="net.tcp://localhost:9358/solver"/>
        <endpoint contract="Service.IProblemSolver"
                  binding="netTcpRelayBinding"
                  address="sb://namespace.servicebus.windows.net/solver"
                  behaviorConfiguration="sbTokenProvider"/>
    </service>

但是,是否可以不添加新的绑定?

据我所知,如果我们想公开我们的本地端点,有两种方法:

  1. 打开端口和防火墙或 NAT。在这种情况下,您可以在不添加新端点的情况下与这些服务进行通信。它类似于直接将您的本地端点暴露给互联网。但我不建议使用它来解决安全问题。

  2. 使用 Azure 服务总线服务。但是,您需要将端点设置更改为来源 post(https://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-hybrid-app-using-service-bus-relay/ )。

关于您的要求,如果有必要,您可以使用 Azure 服务总线配置设置将本地服务封装到新的 WCF 服务中