C# Microsoft Azure服务总线计费

C# Microsoft Azure服务总线计费,c#,azure,azureservicebus,C#,Azure,Azureservicebus,我有一个关于azure服务总线计费的问题。 如果我有下面的代码,并且消息很长时间没有发送,那么就说5个小时 假设我只有一个订阅,代码如下。 在这种情况下,在这5个小时内,我会收取什么费用(是一次用于发送,一次用于下载,还是azure在后台实现的轮询保持活动会产生费用) 仅统计邮件事务(发送、接收)。。。Azure不收取保留邮件的费用 请参阅MSDN主题:根据上面的代码,每次接收呼叫返回时,您都会收到一条消息的费用(即使结果为空)。接收呼叫的默认超时时间为60秒,因此如果5小时内没有消息,您的代码

我有一个关于azure服务总线计费的问题。 如果我有下面的代码,并且消息很长时间没有发送,那么就说5个小时

假设我只有一个订阅,代码如下。 在这种情况下,在这5个小时内,我会收取什么费用(是一次用于发送,一次用于下载,还是azure在后台实现的轮询保持活动会产生费用)


仅统计邮件事务(发送、接收)。。。Azure不收取保留邮件的费用


请参阅MSDN主题:

根据上面的代码,每次接收呼叫返回时,您都会收到一条消息的费用(即使结果为空)。接收呼叫的默认超时时间为60秒,因此如果5小时内没有消息,您的代码将每1分钟返回一次,然后休眠25秒,因此假设每小时您将收到48条消息的费用(1分钟超时和25秒等待)。您可以调用需要超时的重载,并在那里传递5小时超时。在这里,连接在返回之前将保持活动状态5小时,因此在此期间不会发生任何费用


从信封的背面计算:一个单一的接收器,在没有等待的情况下运行一分钟超时,并且没有真正的消息,每分钟都会收到一封消息。整个月不到50美分。请参阅计费计算器

我看不到它在链接中确认他们不为“保持活力”收费的位置?@DermFrench Check out,他们不收费,但您的中继限制为200万hours@DermFrench请参阅此msdn()。。。很久以前我就被问到了同样的问题,并从微软服务总线的PM ClemensV那里得到了答案…我使用的是“subscriptionClient.Receive(TimeSpan.MaxValue);”并且我没有向该订阅发送任何MSG,那么连接应该是正确的。但过了一段时间,我得到了空味精。我想知道这个连接能保持多长时间…@Abhishek Lal,保持5个小时的连接有什么不利条件吗(显然,对于大量的订户,如果它每5小时只返回一次空消息,而不是每分钟返回一次,我们最终会少收很多费用)。没有真正的不利条件,只是,您不能取消该调用,因此,如果您想关闭或关闭请求,它不会在该期间将该控件返回给您。
enter code here
   var subscriptionClient = SubscriptionClient.CreateFromConnectionString(ConnString, topic, subscriptionName);
            while (true)
            {

                var message = subscriptionClient.Receive();
                if (message != null)
                {
                    try
                    {
                        message.Complete();


                    }
                    catch (Exception)
                    {
                        // Indicate a problem, unlock message in subscription
                        message.Abandon();
                    }
                }
                else 
                {
                    Console.WriteLine("null message received");
                }
                Thread.Sleep(25);
            }