我已经为具有默认命名空间的 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 的相同示例,但这不起作用。
我是否需要为中继绑定做一些其他配置请建议!
提前致谢。