1
我正在將腳趾浸入Windows Azure中,並且我遇到了一些必須簡單的事情,但我無法看到它。從Azure隊列中刪除消息時出現異常?
我有這個小測試與Azure的隊列玩:
public void CanPublishSillyLittleMessageOnQueue()
{
var queueClient = CloudStorageAccount.DevelopmentStorageAccount.CreateCloudQueueClient();
var testQueue = queueClient.GetQueueReference("testqueue1");
testQueue.CreateIfNotExist();
var message = new CloudQueueMessage("This is a test");
testQueue.AddMessage(message);
CloudQueueMessage received;
int sleepCount = 0;
while((received = testQueue.GetMessage()) == null)
{
++sleepCount;
Thread.Sleep(25);
}
testQueue.DeleteMessage(received);
Assert.Equal(message.AsString, received.AsString);
}
它發送消息就好了 - 我可以看到它在SQL表。然而,當它擊中了「testQueue.DeleteMessage(收)」的方法,我得到這個:
TestCase 'AzureExploratory.PlayingWithQueues.CanPublishSillyLittleMessageOnQueue'
failed: System.ArgumentNullException : Value cannot be null.
Parameter name: str
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait()
at Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImplWithRetry(Func`1 impl, RetryPolicy policy)
at Microsoft.WindowsAzure.StorageClient.CloudQueue.DeleteMessage(CloudQueueMessage message)
PlayingWithQueues.cs(75,0): at AzureExploratory.PlayingWithQueues.CanPublishSillyLittleMessageOnQueue()
這似乎是一個失敗的Azure的SDK的膽量內某處
。
我使用的是VS 2010,.NET 4.0,Azure SDK V1.2,64位Win 7.開發者商店服務正在運行;我可以看到消息進入隊列,我無法刪除它們。
任何人都見過類似的東西嗎?
昨天xUnit團隊修復了這個問題 - http://xunit.codeplex.com/Thread/View.aspx?ThreadId=226567 – 2010-09-11 22:50:43