我目前正在尝试用 C# 编写两个应用程序 - 一个客户端和一个服务器 - 它们连接到我在 Azure 中设置的 WCF 中继,但当我尝试运行时遇到一个非常奇怪的错误要么。
这是我设置的一个全新的 WCF 中继,它与其他任何内容都没有命名冲突,但每次我尝试使用我的服务作为监听器打开到它的连接时,都会失败并出现以下异常:
System.ServiceModel.AddressAlreadyInUseException: Address sb://[MY_RELAY].servicebus.windows.net/[MY_WCF_RELAY] is already in use by an existing listener with different settings.
当我尝试运行连接到同一中继 URL 的客户端应用程序时,出现以下异常:
System.ServiceModel.FaultException: '50200: There are no listeners connected for the endpoint.
有点奇怪的是,已经有一个监听器已连接,但同时没有连接任何监听器。我什至检查了中继的事件连接数,它从未超过 0。
有人知道这里可能发生什么以及我如何排除故障吗?谢谢!
最佳答案
请检查您是否已配置服务路径为 ./
的租户。因此,会采用根路径,然后每个尝试注册的租户都会收到以下错误 “地址 sb://[namespace].servicebus.windows.net/[WCF 中继名称] 已在使用中通过具有不同设置的现有监听器”
。
尝试关闭坏端点,然后所有其他端点将能够再次工作。
如果您在门户中(或使用 NamespaceManager.CreateRelay[Async])为此端点显式创建 WCF 中继,如果是这样,则您需要绑定(bind)的 IsDynamic == false。 如果您没有预先创建端点,则绑定(bind)的 IsDynamic 必须为 true。
关于c# - WCF 中继已连接到监听器,但没有连接监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71025879/