Azure网站连接到ServiceBus队列远程名称无法解析
我有一个简单的Azure网站(PaaS网站)试图连接到服务总线队列。但是,它出现错误:Azure网站连接到ServiceBus队列远程名称无法解析
[WebException: The remote name could not be resolved: 'XXXXXXXXX-sb.accesscontrol.windows.net']
System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) +6543605 System.Net.HttpWebRequest.GetRequestStream() +13 Microsoft.ServiceBus.TokenProviderHelper.GetAccessTokenCore(Uri requestUri, String appliesTo, String requestToken, String simpleAuthAssertionFormat, TimeSpan timeout, String& expiresIn, String& audience) +617
有关如何解决此错误的任何想法?这看起来像一个权限问题,但我是新来的Azure,我没有看到如何解决它。它使用具有管理,发送和监听权限的服务总线“RootManageSharedAccessKey”。
我也有一个能够访问队列的worker角色设置,所以我知道队列在那里。我也可以使用Visual Studio将测试消息发送到队列,并由工作人员接收。我无法让前端天蓝色网站访问它。
我改变了我是如何连接到服务总线的细节。问题与没有将正确的值传递给NamespaceManager有关。我结束了使用以下连接到服务总线:
// By default when connecting to the queue we will look at the appSettings for they key "Microsoft.ServiceBus.ConnectionString"
//
// <appSettings>
// <add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=sb://XXXXXXXXXX.servicebus.windows.net;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXXXXXXXXXXXXXXXXXXXXXXXXXX" />
// </appSettings>
//
public TachyonQueueClient(String queueName, String appSettingKey = "Microsoft.ServiceBus.ConnectionString")
{
name = queueName;
string connectionString = CloudConfigurationManager.GetSetting(appSettingKey);
namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.QueueExists(queueName))
{
namespaceManager.CreateQueue(queueName);
}
// Initialize the connection to Service Bus Queue
client = QueueClient.CreateFromConnectionString(connectionString, queueName);
}
您是否最近从Azure门户创建了新的服务总线名称空间?在默认身份验证机制是SAS并且没有自动供应ACS名称空间的情况下进行了更改。
我在旧门户中创建了命名空间。我可以连接到worker角色中的队列以关闭消息,但是当我尝试从Azure网站访问它时,出现上述错误。 – 2014-10-01 20:22:06
它可以肯定与你提供的链接有关,我会更多地考虑它。 – 2014-10-01 20:22:51
我最终改变了如何连接到服务总线。 – 2014-10-02 19:55:09