我在 Web 角色上有一个 WCF,然后是一个工作角色来处理 WCF 添加到天蓝色队列的消息。
我正在执行以下操作:
var queue = queueStorage.GetQueueReference("myqueue");
var message = new CloudQueueMessage(string.Format("{0},{1}", pWord,processed));
queue.AddMessage(message);
然后我想等到消息处理完毕,但我不知道我的队列对象是否会自行更新,或者我必须对此做些什么。
在我的工人角色上,我有以下内容:
这是我的 onStart 方法:
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
inputQueue = queueClient.GetQueueReference("myqueue");
然后在我的 Run 方法上:
while (true)
{
try
{
// Retrieve and process a new message from the queue.
msg = inputQueue.GetMessage();
if (msg != null)
{
result = processMessage(msg);
在我的 processMessage 方法上:
var messageParts = msg.AsString.Split(new char[] { ',' });
var word = messageParts[0];
var processed = Convert.ToBoolean(messageParts[2]);
word = "recibido";
processed = true;
addMessageToQueue2(userId,processed);
return 1;
将消息添加到队列是:
var queue = outputQueue.GetQueueReference("myQueue");
var message = new CloudQueueMessage(string.Format("{0},{1}", pWord, pProcessed));
queue.AddMessage(message);
我对队列相当陌生,但我认为这应该可以工作,所以我只需要等到消息被处理但不知道它在内部是如何工作的。