ContinueWith中的异常处理被无限调用



我正在调用一个异步方法(特别是:Microsoft.ServiceBus.Messageing.QueueClient.SendAsync()),并希望能够处理其中的异常。

我遇到的一种可能性是:

_queueClient.SendAsync(message).ContinueWith((t) =>
{
    Debug.WriteLine("Exception: " + t.Exception.InnerException.GetType().Name);
}, TaskContinuationOptions.OnlyOnFaulted);

然而,ContinueWith似乎被无限地称为:

Exception: UnauthorizedAccessException
Exception: UnauthorizedAccessException
Exception: UnauthorizedAccessException
Exception: UnauthorizedAccessException
Exception: UnauthorizedAccessException
Exception: UnauthorizedAccessException
......................................
......etc

你知道为什么会发生这种情况以及如何避免吗?

感谢

我在TraceListener中调用send,然后TraceListener获取Debug.WriteLine并导致循环。

这意味着TraceListener会侦听跟踪,但它似乎也会侦听Debug消息。

最新更新