C# Can';t通过HTTPS连接到Windows ServiceBus

C# Can';t通过HTTPS连接到Windows ServiceBus,c#,.net,windows,azure,servicebus,C#,.net,Windows,Azure,Servicebus,我正在尝试使用HTTPS连接到windows服务总线。以下是我的应用程序配置设置: <appSettings> <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=https://example-service.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=example-shared-secret-val

我正在尝试使用HTTPS连接到windows服务总线。以下是我的应用程序配置设置:

  <appSettings>
  <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=https://example-service.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=example-shared-secret-value"/>
  </appSettings>
但是,它不起作用,抛出以下错误:

无法使用连接字符串创建MessagingFactory。提供的URI方案“https”无效;期待“某人”。有关详细信息,请参见内部异常。请检查连接字符串,然后重试。有关更多信息,请参阅

内部的例外是:

提供的URI方案“https”无效;期待“某人”。位于Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessagingFactory..ctor(IEnumerable
1基地址,NetMessagingTransportSettings设置)
位于Microsoft.ServiceBus.Messaging.NetMessagingTransportSettings.Microsoft.ServiceBus.Messaging.ITransportSettings.BeginerateFactory(IEnumerable
1物理URI地址、异步回调、对象状态) 在Microsoft.ServiceBus.Messaging.MessagingFactorySettings.OnBeginIncremateFactory(IEnumerable
1 URI地址、异步回调、对象状态)
在Microsoft.ServiceBus.Messaging.MessagingFactorySettings.BegIncremateFactory(IEnumerable
1 URI地址、异步回调、对象状态) 在Microsoft.ServiceBus.MessagingFactory.CreateMessagingFactoryAsyncResult..ctor(MessagingFactorySettings,IEnumerable
1地址,TimeSpan超时,异步回调,对象状态)
在Microsoft.ServiceBus.Messaging.MessagingFactory.BeginRate(IEnumerable
1地址、MessagingFactorySettings factorySettings、TimeSpan超时、异步回调、对象状态) 在Microsoft.ServiceBus.Messaging.MessagingFactory.BeginRate(IEnumerable
1地址、MessagingFactorySettings factorySettings、AsyncCallback回调、对象状态)
在Microsoft.ServiceBus.Messaging.MessagingFactory.BeginRate(IEnumerable
1地址、令牌提供程序令牌提供程序、异步回调、对象状态) 在Microsoft.ServiceBus.Messaging.MessagingFactory.Create(IEnumerable
1地址,令牌提供程序令牌提供程序)
在Microsoft.ServiceBus.Messaging.Configuration.KeyValueConfigurationManager.CreateFactory(IEnumerable
1端点,IEnumerable`1发送点,字符串操作超时,字符串issuerName,字符串issuerKey,字符串域,字符串用户,SecureString密码)

如果我将连接字符串更改为使用sb.example-service.servicebus.windows.net而不是https.example-service.servicebus.windows.net,它将正常工作,但我确实需要使用https而不是sb


你知道客户为什么期待“某人”吗?如何将客户端配置为使用“https”。

以下是解决方案:将连接字符串的“https”部分改回“sb”,必须是“sb”。现在添加这行代码:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;