本文整理汇总了C#中System.Exception.Unwrap方法的典型用法代码示例。如果您正苦于以下问题:C# Exception.Unwrap方法的具体用法?C# Exception.Unwrap怎么用?C# Exception.Unwrap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Exception
的用法示例。
在下文中一共展示了Exception.Unwrap方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExceptionViewModel
public ExceptionViewModel(Exception exception)
{
DisplayName = "An unhandled exception occurred";
CloseCommand = new RelayCommand(TryClose);
_exception = exception.Unwrap().ToAggregate();
}
示例2: IsRequestAborted
internal static bool IsRequestAborted(Exception exception)
{
exception = exception.Unwrap();
// Support an alternative way to propagate aborted requests
if (exception is OperationCanceledException)
{
return true;
}
// There is a race in StreamExtensions where if the endMethod in ReadAsync is called before
// the Stream is disposed, but executes after, Stream.EndRead will be called on a disposed object.
// Since we call HttpWebRequest.Abort in several places while potentially reading the stream,
// and we don't want to lock around HttpWebRequest.Abort and Stream.EndRead, we just swallow the
// exception.
// If the Stream is closed before the call to the endMethod, we expect an OperationCanceledException,
// so this is a fairly rare race condition.
if (exception is ObjectDisposedException)
{
return true;
}
var webException = exception as WebException;
return (webException != null && webException.Status == WebExceptionStatus.RequestCanceled);
}
示例3: IsRequestAborted
internal static bool IsRequestAborted(Exception exception)
{
exception = exception.Unwrap();
// Support an alternative way to propagate aborted requests
if (exception is OperationCanceledException)
{
return true;
}
var webException = exception as WebException;
return (webException != null && webException.Status == WebExceptionStatus.RequestCanceled);
}
示例4: Close
private void Close(Exception exception)
{
if (Interlocked.Exchange(ref _reading, 0) == 1)
{
Debug.WriteLine("EventSourceReader: Connection Closed");
if (Closed != null)
{
if (exception != null)
{
exception = exception.Unwrap();
}
Closed(exception);
}
// Release the buffer
_readBuffer = null;
}
}
示例5: IsRequestAborted
internal static bool IsRequestAborted(Exception exception)
{
var webException = exception.Unwrap() as WebException;
return (webException != null && webException.Status == WebExceptionStatus.RequestCanceled);
}
示例6: Close
private void Close(Exception exception)
{
var previousState = Interlocked.Exchange(ref _reading, State.Stopped);
if (previousState != State.Stopped)
{
if (Closed != null)
{
if (exception != null)
{
exception = exception.Unwrap();
}
Closed(exception);
}
lock (_bufferLock)
{
// Release the buffer
_readBuffer = null;
}
}
}
示例7: Close
private void Close(Exception exception)
{
var previousState = Interlocked.Exchange(ref _reading, State.Stopped);
if (previousState == State.Processing)
{
Debug.WriteLine("EventSourceReader: Connection Closed");
if (Closed != null)
{
if (exception != null)
{
exception = exception.Unwrap();
}
Closed(exception);
}
lock (_bufferLock)
{
// Release the buffer
_readBuffer = null;
}
}
if (previousState != State.Stopped && Disabled != null)
{
Disabled();
}
}