ExceptionHandler Класс

Определение

ExceptionHandler Расширьте класс, чтобы создать обработчик исключений для необработанных исключений, происходящих в среде выполнения Windows Communication Foundation (WCF).

public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
Наследование
ExceptionHandler

Примеры

В следующем примере кода показана реализация абстрактного ExceptionHandler класса, переопределения HandleException метода.

using System;
using System.ServiceModel.Dispatcher;

namespace CS
{
    public class MyExceptionHandler : ExceptionHandler
    {
        // HandleException method override gives control to
        // your code.
        public override bool HandleException(Exception ex)
        {
            // This method contains logic to decide whether
            // the exception is serious enough
            // to terminate the process.
            return ShouldTerminateProcess(ex);
        }

        public bool ShouldTerminateProcess(Exception ex)
        {
            // Write your logic here.
            return true;
        }
    }


Imports System.ServiceModel.Dispatcher

Namespace CS
    Public Class MyExceptionHandler
        Inherits ExceptionHandler
            ' HandleException method override gives control to 
            ' your code.
            Public Overrides Function HandleException(ByVal ex As Exception) As Boolean
                ' This method contains logic to decide whether 
                ' the exception is serious enough
                ' to terminate the process.
                Return ShouldTerminateProcess (ex)
            End Function

            Public Function ShouldTerminateProcess(ByVal ex As Exception) As Boolean
                ' Write your logic here.
                Return True
            End Function
    End Class

В следующем примере кода показано, как включить настраиваемые MyExceptionHandler необработанные исключения, возникающие в среде выполнения WCF.

// Create an instance of the MyExceptionHandler class.
MyExceptionHandler thisExceptionHandler =
    new MyExceptionHandler();

// Enable the custom handler by setting
//   AsynchronousThreadExceptionHandler property
//   to this object.
ExceptionHandler.AsynchronousThreadExceptionHandler =
    thisExceptionHandler;

// After the handler is set, write your call to
// System.ServiceModel.ICommunication.Open here.
    Sub Main(ByVal args() As String)
        ' Create an instance of the MyExceptionHandler class.
        Dim thisExceptionHandler As New MyExceptionHandler()

        ' Enable the custom handler by setting 
        '   AsynchronousThreadExceptionHandler property
        '   to this object.
        ExceptionHandler.AsynchronousThreadExceptionHandler = thisExceptionHandler

        ' After the handler is set, write your call to 
        ' System.ServiceModel.ICommunication.Open here
    End Sub
End Module

Комментарии

Расширьте класс и переопределите ExceptionHandlerHandleException метод, чтобы определить, должно ли исключение завершить приложение. Затем создайте новый экземпляр пользовательского ExceptionHandler класса и назначьте его статической AsynchronousThreadExceptionHandler или TransportExceptionHandler свойстве перед созданием клиентов или служб WCF.

Конструкторы

Имя Описание
ExceptionHandler()

Инициализирует новый экземпляр класса ExceptionHandler.

Свойства

Имя Описание
AlwaysHandle

Возвращает экземпляр ExceptionHandler , который обрабатывает все исключения.

AsynchronousThreadExceptionHandler

Возвращает или задает текущую ExceptionHandler реализацию для домена приложения.

TransportExceptionHandler

Возвращает или задает текущую реализацию транспорта ExceptionHandler для домена приложения.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
HandleException(Exception)

При переопределении в производном классе возвращает true значение, если исключение обработано, или false если исключение должно быть переопределено и приложение завершено.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к