2016-07-29 131 views
0

以下AddMessage調用(從另一個帖子借用的代碼)失敗,並顯示「遠程服務器返回錯誤:(401)未經授權。」Azure服務總線AddMessage返回401

var queue = new CloudQueueClient(
    new Uri("https://<service-account>.servicebus.windows.net/"), 
    new StorageCredentials("access1", "xxx")).GetQueueReference("queue1"); 

queue.AddMessage(new CloudQueueMessage("Hello")); 

其中xxx是從Azure的配置屏幕複製的44個字符的PRIMARY KEY。它不包含任何「特殊」字符。任何人都可以看到我要去哪裏嗎?使用服務級別的服務訪問策略憑據給出相同的401錯誤。我的服務帳戶是Azure policy configuration

(我曾嘗試另一種方法,可是撞到了另外障礙service bus connection-string problem

+0

羅布,你做這一切都是錯的恕我直言!請參閱我對您的其他問題的回答。 –

+0

我想我在這裏混合StorageCredentials和CloudQueueClient。服務總線是否有相同的語法? –

回答

0

這裏是你如何能做到這一點。請確保您已在項目中添加對Microsoft.ServiceBus.dll的引用。

  var queueClient = QueueClient.CreateFromConnectionString(ConnectionString, queueName); 

現在你可以使用queueClient比如添加信息該隊列執行操作,閱讀郵件等

要在服務總線級別,如創建隊列執行操作,你需要得到的NamespaceManager實例像下面這樣:

 var manager = NamespaceManager.CreateFromConnectionString(ConnectionString); 
     manager.CreateQueue(queue); 

我會強烈建議閱讀本指南開始使用服務總線:https://azure.microsoft.com/en-in/documentation/articles/service-bus-dotnet-get-started-with-queues/