3

紺碧のサービスバスの請求について質問があります。次のコードがあり、メッセージが長時間送信されない場合、たとえば5時間です。

サブスクリプションが1つだけで、コードは次のとおりであると想定します。この5時間のシナリオでは、何が課金されますか(送信に1回、ダウンロードに1回ですか、それともazureがバックグラウンドで実装するポーリングキープの料金が発生しますか)?

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);
            }
4

2 に答える 2

1

上記のコードから、Receive呼び出しが戻るたびに(結果がnullであっても)単一のメッセージに対して課金されます。受信通話のデフォルトのタイムアウトは60秒であるため、5時間メッセージがない場合、コードは1分ごとに返され、その後25秒間スリープするため、1時間あたり48メッセージ(1分)の料金が請求されると想定します。タイムアウトと25秒の待機)。タイムアウトを取り、そこで5時間のタイムアウトを渡すReceiveのオーバーロードを呼び出すことができます。ここでは、接続が戻る前に5時間接続が維持されるため、その間は料金は発生しません。

エンベロープ計算の裏側から:待機なしで1分間のタイムアウトで実行され、実際のメッセージがない単一の受信者は、毎分課金されるメッセージを受け取ります。これは、1か月全体で5セント未満です。ここで請求計算機を参照してください

于 2013-01-25T18:30:26.983 に答える
1

メッセージトランザクションのみがカウントされます(送信、受信)...Azureはキープアライブメッセージに対して課金しません...

MSDNトピックを参照してください:http://msdn.microsoft.com/en-us/library/hh667438.aspx#BKMK_SBv2FAQ2_1

于 2013-01-24T07:16:10.220 に答える