0

我已经为具有默认命名空间的 Windows Server 1.1(不是 Azure 服务总线)安装了服务总线。我已经从 http://code.msdn.microsoft.com/windowsazure/Relayed-Messaging-Bindings-ca039161下载了示例, 并更改了以下代码以生成令牌。

var machineName = Dns.GetHostEntry(string.Empty).HostName;
        var networkCredential = new NetworkCredential(WindowsUsername, WindowsPassword, WindowsDomain);


        string serviceNamespace = "ServiceBusDefaultNamespace";


        // The TransportClientEndpointBehavior specifies the Service Bus credentials for a particular endpoint
        var stsUris = new List<Uri> { new Uri(string.Format(CultureInfo.InvariantCulture, "https://{0}:9355/", machineName)) };
        TransportClientEndpointBehavior relayCredentials = new TransportClientEndpointBehavior
        {
            TokenProvider = TokenProvider.CreateOAuthTokenProvider(stsUris, networkCredential)
        };

        //TransportClientEndpointBehavior relayCredentials = new TransportClientEndpointBehavior();
        //relayCredentials.TokenProvider = TokenProvider.CreateSharedSecretTokenProvider(issuerName, issuerSecret);    

        Uri address = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, "HelloService");

但它抛出以下错误“无法通过 TCP (9351, 9352) 或 HTTP (80, 443) 到达 servicebusdefaultnamespace.servicebus.windows.net

我也尝试过使用 BasicHTTPRelayBinding 的相同示例,但这不起作用。

我是否需要为中继绑定做一些其他配置请建议!

提前致谢。

4

1 回答 1

1

目前,Service Bus Relay 功能在 Service Bus 1.1 for Windows Server 上不可用。它仅在 Azure 服务总线中可用。

于 2014-01-17T02:47:34.130 回答