CloudQueue.EndAddMessage(IAsyncResult)实际上做了什么?

时间:2013-01-23 11:20:29

标签: c# azure azure-storage azure-storage-queues

让我说我打电话

AsyncCallback callback = new AsyncCallback(QueueMessageAdded);
queue.BeginAddMessage(new CloudQueueMessage(message), callback, null);

其中QueueMessageAdded

private static void QueueMessageAdded(IAsyncResult result)
{
    queue.EndAddMessage(result);
}

EndAddMessage 做什么?

包括等待调用所有回调,它与调用同步版本一样慢:

Parallel.ForEach(messages, message => queue.AddMessage(message));

1 个答案:

答案 0 :(得分:0)

第一种方法允许您使用并发请求!单个线程可以使用第一种方法发送数百个并发消息,即使单个POST请求获得其响应的延迟很高。如果查看production code targeting ASB,您可以看到APM / Async的使用方式。