本文整理匯總了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();
}
}