根据this的说法,我甚至可以为QueueClient.BeginReceive 设置24天的长时间。正如我们所知,azure服务总线是通过存储事务来定价的。我想知道,例如,如果我为beginreceive方法设置了10天的超时,那么有多少事务被计入其中? 1?如果它不是1,我如何确定它?
下面是我的worker角色中的一个小代码示例。它是如何定价的?
public override void Run()
{
updaterClient.BeginReceive(TimeSpan.FromDays(1), updaterClientReceiveEnded, null);
loggingQueueClient.BeginReceiveBatch(100, TimeSpan.FromMinutes(1), LoggingQueueClientReceiveEnded, null);
while (!IsStopped)
{
Thread.Sleep(TimeSpan.FromMinutes(1));
}
}
private async void updaterClientReceiveEnded(IAsyncResult ar)
{
var brokeredMessage = updaterClient.EndReceive(ar);
if (brokeredMessage != null)
{
var task = Task.Run(() => Updater.Current.Update(brokeredMessage));
await task;
}
updaterClient.BeginReceive(TimeSpan.FromDays(1), updaterClientReceiveEnded, null);
}
private async void LoggingQueueClientReceiveEnded(IAsyncResult ar)
{
var brokeredMessages = loggingQueueClient.EndReceiveBatch(ar);
if (brokeredMessages != null)
{
var task = Task.Run(() => LogUtil.Current.HandleMessages(brokeredMessages.ToList()));
await task;
}
loggingQueueClient.BeginReceiveBatch(100, TimeSpan.FromMinutes(1), LoggingQueueClientReceiveEnded, null);
}发布于 2013-05-04 09:38:01
您是按消息收费的( $.01每10000条消息收费),因此,如果操作结果是一条消息,那么无论花费多长时间,这都是您要收费的。
有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/windowsazure/hh667438.aspx#BKMK_SBv2FAQ2_2
https://stackoverflow.com/questions/16367672
复制相似问题