首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QueueClient.BeginReceive成本

QueueClient.BeginReceive成本
EN

Stack Overflow用户
提问于 2013-05-04 05:15:49
回答 1查看 565关注 0票数 0

根据this的说法,我甚至可以为QueueClient.BeginReceive 设置24天的长时间。正如我们所知,azure服务总线是通过存储事务来定价的。我想知道,例如,如果我为beginreceive方法设置了10天的超时,那么有多少事务被计入其中? 1?如果它不是1,我如何确定它?

下面是我的worker角色中的一个小代码示例。它是如何定价的?

代码语言:javascript
复制
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);

}
EN

回答 1

Stack Overflow用户

发布于 2013-05-04 09:38:01

您是按消息收费的( $.01每10000条消息收费),因此,如果操作结果是一条消息,那么无论花费多长时间,这都是您要收费的。

有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/windowsazure/hh667438.aspx#BKMK_SBv2FAQ2_2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16367672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档