本文整理匯總了C#中BrokeredMessage.SafeDeadLetterAsync方法的典型用法代碼示例。如果您正苦於以下問題:C# BrokeredMessage.SafeDeadLetterAsync方法的具體用法?C# BrokeredMessage.SafeDeadLetterAsync怎麽用?C# BrokeredMessage.SafeDeadLetterAsync使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類BrokeredMessage
的用法示例。
在下文中一共展示了BrokeredMessage.SafeDeadLetterAsync方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: ReleaseMessage
private void ReleaseMessage(BrokeredMessage msg, MessageReleaseAction releaseAction, long processingElapsedMilliseconds, long schedulingElapsedMilliseconds, Stopwatch roundtripStopwatch)
{
switch (releaseAction.Kind)
{
case MessageReleaseActionKind.Complete:
msg.SafeCompleteAsync(
this.subscription,
success =>
{
msg.Dispose();
this.instrumentation.MessageCompleted(success);
if (success)
{
this.dynamicThrottling.NotifyWorkCompleted();
}
else
{
this.dynamicThrottling.NotifyWorkCompletedWithError();
}
},
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
case MessageReleaseActionKind.Abandon:
msg.SafeAbandonAsync(
this.subscription,
success => { msg.Dispose(); this.instrumentation.MessageCompleted(false); this.dynamicThrottling.NotifyWorkCompletedWithError(); },
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
case MessageReleaseActionKind.DeadLetter:
msg.SafeDeadLetterAsync(
this.subscription,
releaseAction.DeadLetterReason,
releaseAction.DeadLetterDescription,
success => { msg.Dispose(); this.instrumentation.MessageCompleted(false); this.dynamicThrottling.NotifyWorkCompletedWithError(); },
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
default:
break;
}
}
示例2: ReleaseMessage
private void ReleaseMessage(BrokeredMessage msg, MessageReleaseAction releaseAction, Action completeReceive, Action onReleaseError, CountdownEvent countdown, long processingElapsedMilliseconds, long schedulingElapsedMilliseconds, Stopwatch roundtripStopwatch)
{
switch (releaseAction.Kind)
{
case MessageReleaseActionKind.Complete:
msg.SafeCompleteAsync(
this.subscription,
operationSucceeded =>
{
msg.Dispose();
this.OnMessageCompleted(operationSucceeded, countdown);
if (operationSucceeded)
{
completeReceive();
}
else
{
onReleaseError();
}
},
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
case MessageReleaseActionKind.Abandon:
this.dynamicThrottling.Penalize();
msg.SafeAbandonAsync(
this.subscription,
operationSucceeded =>
{
msg.Dispose();
this.OnMessageCompleted(false, countdown);
onReleaseError();
},
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
case MessageReleaseActionKind.DeadLetter:
this.dynamicThrottling.Penalize();
msg.SafeDeadLetterAsync(
this.subscription,
releaseAction.DeadLetterReason,
releaseAction.DeadLetterDescription,
operationSucceeded =>
{
msg.Dispose();
this.OnMessageCompleted(false, countdown);
if (operationSucceeded)
{
completeReceive();
}
else
{
onReleaseError();
}
},
processingElapsedMilliseconds,
schedulingElapsedMilliseconds,
roundtripStopwatch);
break;
default:
break;
}
}