0

文字通り 5 時間試してみた結果、Azure アカウントに問題があり、一度に複数のキューを操作できないことがわかりました。

もちろん、小文字の 2 つの名前を持つ 2 つのキューを作成することから始めます。次に、それらが存在するかどうかを確認し、それらの uri 名も確認します。問題ないようです。

次に、最初のキューにメッセージを追加し始めました。これは正常に機能します。キューに含まれるメッセージの数を確認すると、0 より大きい数値が返されます。

次に、まったく同じ手順を繰り返して 2 番目のキューにメッセージを追加しますが、今度はメッセージの数を確認しようとすると、0 とは言えず、null がスローされます。

2 番目のキューから getMessage() を使用すると、null メッセージも返されます。つまり、追加したメッセージは実際には 2 番目のキューのストレージに送られません。

アカウントによる制限はありますか?複数のキュー パーティションを同時に動作させるには、azure で別の設定を行う必要がありますか?

事前にご回答いただきありがとうございます..

編集

WCF の私のクラスのトップは次のように定義されています。

private static CloudQueue processedqueue;
private static CloudQueue notprocessedqueue;

これは私の InitializeStorage メソッドです:

var queue1 = account.CreateCloudQueueClient();
                notprocessedqueue = queue1.GetQueueReference("notprocessedqueue");
                notprocessedqueue.CreateIfNotExist();
var queue2 = account.CreateCloudQueueClient();
                processedqueue = queue2.GetQueueReference("processedqueue");
                processedqueue.CreateIfNotExist();


//I have tried using queue1 to get the reference of both queues but is the same result

キューを満たすメソッド:

   var message = new CloudQueueMessage(string.Format("{0},{1}", pWord, processed.ToString()));

    var message2 = new CloudQueueMessage(string.Format("{0},{1}", pWord, processed.ToString()));

processedqueue.AddMessage(message);
notprocessedqueue.AddMessage(message2);



processedqueue.Exists() <- Returns true
processedqueue.Uri.ToString() <- returns a proper URL with the name I defined in the getReference method
notprocessedqueue.Exists() <-  Retruns true 
notprocessedqueue.Uri.ToString() <- returns a proper URL with the name I defined in the getReference method

addMessage メソッドを実行した後、次のことを試します。

processedqueue.ApproximateMessageCount <- returns 1
notprocessedqueue.ApproximateMessageCount <- returns null
4

1 に答える 1