1

我目前正在尝试用 C# 编写两个应用程序——一个客户端和一个服务器——它们连接到我在 Azure 中设置的 WCF 中继,但是当我尝试运行其中一个时,我遇到了一个非常奇怪的错误。

这是我设置的全新 WCF 中继,它与其他任何东西都没有命名冲突,但是每次我尝试使用我的服务作为侦听器打开与它的连接时,它都会失败并出现以下异常:

System.ServiceModel.AddressAlreadyInUseException:地址 sb://[MY_RELAY].servicebus.windows.net/[MY_WCF_RELAY] 已被具有不同设置的现有侦听器使用。

当我尝试运行连接到同一个中继 URL 的客户端应用程序时,我得到了这个异常:

System.ServiceModel.FaultException:'50200:没有为端点连接的侦听器。

有点奇怪,如何已经连接了一个侦听器,但同时没有连接任何侦听器。我什至检查了中继的活动连接数,它从未超过 0。

任何人都知道这里可能发生了什么以及我该如何排除故障?谢谢!

4

1 回答 1

0

请检查您是否配置了服务路径为 的租户./。因此,采用了根路径,然后每个尝试注册的租户都会收到以下错误"Address sb://[namespace].servicebus.windows.net/[WCF Relay name] is already in use by an existing listener with different settings"

尝试关闭坏端点,然后所有其他端点将能够再次工作。

如果您在门户中显式创建 WCF 中继(或使用 NamespaceManager.CreateRelay[Async])为此端点,如果是这样,那么您需要绑定的IsDynamic == false。如果您没有预先创建端点,那么绑定的IsDynamic必须为真。

于 2022-02-08T09:09:38.567 回答