2014-10-01 85 views
3

我有一个简单的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将测试消息发送到队列,并由工作人员接收。我无法让前端天蓝色网站访问它。

回答

2

我改变了我是如何连接到服务总线的细节。问题与没有将正确的值传递给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); 
    } 
2

您是否最近从Azure门户创建了新的服务总线名称空间?在默认身份验证机制是SAS并且没有自动供应ACS名称空间的情况下进行了更改。

请参阅本博客里面对这个问题http://blogs.msdn.com/b/servicebus/archive/2014/09/03/change-to-azure-service-bus-portal-default-authentication-mechanism-for-service-bus-namespaces-now-sas.aspx

+1

我在旧门户中创建了命名空间。我可以连接到worker角色中的队列以关闭消息,但是当我尝试从Azure网站访问它时,出现上述错误。 – 2014-10-01 20:22:06

+1

它可以肯定与你提供的链接有关,我会更多地考虑它。 – 2014-10-01 20:22:51

+1

我最终改变了如何连接到服务总线。 – 2014-10-02 19:55:09

相关问题