0
SubscriptionClient receiver = messageFactory.CreateSubscriptionClient("NewTopic", subscriberId);
TimeSpan e = new TimeSpan(0, 0, 5, 0, 0);
RetryExponential x = new RetryExponential(e,e,e,e,2);
OnMessageOptions options = new OnMessageOptions();
options.AutoComplete = false;
//options.AutoRenewTimeout = TimeSpan.FromMinutes(1);
options.ExceptionReceived += options_ExceptionReceived;
receiver.OnMessage(receivedMessage =>
{
try
{
Console.WriteLine(receivedMessage.Label);
bool t = receivedMessage.IsBodyConsumed;
Console.WriteLine(string.Format("Message received: {0}", receivedMessage.GetBody<string>()));
Console.WriteLine(receivedMessage.SequenceNumber);
Console.WriteLine(receivedMessage.TimeToLive);
Console.WriteLine(receivedMessage.To);
Console.WriteLine(receivedMessage.DeliveryCount);
receivedMessage.Abandon();
}
catch (Exception)
{
// Indicates a problem, unlock message in subscription.
receivedMessage.Abandon();
}
}, options);
こんにちはすべて、 を数える私は2 としてmaxRetryCountを設定すると私はdelibretly最大再試行回数をチェックするためのonMessageにメッセージを放棄再試行してください。再試行回数を2に設定した後でも、メッセージを2回以上受信しています。 --TIAマックスはretryExponentialコンストラクタでRetryExponentialクラスで動作していない
AHAは、コードreceiver.RetryPolicy = xのこの部分を逃した(そして、あなたは 'X' 変数を使用していません)。受信者に再試行ポリシーを割り当てています。これは現在の最大試行回数を制御しますか? – user1844634
SubscriptionClientレシーバ= messageFactory.CreateSubscriptionClient( "NewTopic"、subscriberId); receiver.RetryPolicy = 新しいRetryExponential( minBackoff:TimeSpan.FromSeconds(0)、 maxBackoff:TimeSpan.FromSeconds(30)、 deltaBackoff:TimeSpan.FromSeconds(3)、terminationTimeBuffer:TimeSpan.FromSeconds(3)、 maxRetryCount。 3)。 10回再試行していますが。再試行のためにメッセージ – user1844634
を放棄してください。https://msdn.microsoft.com/library/azure/microsoft.servicebus.messaging.queuedescription.maxdeliverycount.aspx – LoekD