天天看點

Call Azure Queue get "The remote server returned an error: (400) Bad Request."

這幾天開始研究Windows Azure, 在使用Azure Queue 的時候,CreateInfNotExists 總是抛出異常 "The remote server returned an error: (400) Bad Request."

const string RegespStorageConnectionStringKey = "RegespStorageConnectionString";      
var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting(RegespStorageConnectionStringKey));      
var queueClient = storageAccount.CreateCloudQueueClient();      
var queue = queueClient.GetQueueReference();      
queue.CreateIfNotExists();      

查了一下,原因盡然是Queue的名字是有要求的:

Queue Names (

http://msdn.microsoft.com/en-us/library/windowsazure/dd179349.aspx

Every queue within an account must have a unique name. The queue name must be a valid DNS name, and cannot be changed once created. Queue names must confirm to the following rules:

  1. A queue name must start with a letter or number, and can only contain letters, numbers, and the dash (-) character.
  2. The first and last letters in the queue name must be alphanumeric. The dash (-) character cannot be the first or last character. Consecutive dash characters are not permitted in the queue name.
  3. All letters in a queue name must be lowercase.
  4. A queue name must be from 3 through 63 characters long.

注意第三條,所有字母要小寫。

把這一句 var queue = queueClient.GetQueueReference(“Regesp”);  改成 var queue = queueClient.GetQueueReference(“regesp”); 就解決問題了。

上一篇: IL rewriting
下一篇: 禮物

繼續閱讀