C# QueueClient.BeginReceive成本
据我所知,我甚至可以设定一个24天的期限。 正如我们所知,azure服务总线是按存储事务定价的。我想知道我是否为beginreceive方法设置了一个10天的超时时间,有多少事务被计算在内?1.如果不是1,我如何确定它 下面是我的工作者角色的一个小代码示例。它是怎么定价的C# QueueClient.BeginReceive成本,c#,azure,servicebus,C#,Azure,Servicebus,据我所知,我甚至可以设定一个24天的期限。 正如我们所知,azure服务总线是按存储事务定价的。我想知道我是否为beginreceive方法设置了一个10天的超时时间,有多少事务被计算在内?1.如果不是1,我如何确定它 下面是我的工作者角色的一个小代码示例。它是怎么定价的 public override void Run() { updaterClient.BeginReceive(TimeSpan.FromDays(1), updaterClientReceiveEnded, null
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);
}
您每封邮件收取费用(每10000封邮件收取0.01美元),因此,如果该操作产生一封邮件,则无论花费多长时间,您都将为此收取费用
有关更多信息,请参见。你是按要求收费的。没有消息的请求是可计费单位。例如:如果您使用批接收或发送,您可以节省资金,因为您只发送了一条消息(包括所有brokeredmessage)。我只是不知道,这些长轮询模型是如何定价的。@TamásVarga他们在定价常见问题解答中没有提到批处理,您对此有参考吗?这是针对Windows Azure队列,而不是服务总线队列。