ExceptionHandler Classe

Definizione

Estendere la classe ExceptionHandler per creare un gestore di eccezioni per le eccezioni non gestite che si verificano nel runtime di Windows Communication Foundation (WCF).Extend the ExceptionHandler class to create an exception handler for unhandled exceptions that occur within the Windows Communication Foundation (WCF) runtime.

public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
Ereditarietà
ExceptionHandler

Esempi

Nell'esempio di codice seguente viene illustrata un'implementazione della classe ExceptionHandler astratta che esegue l'override del metodo HandleException.The following code example shows an implementation of the ExceptionHandler abstract class that overrides the HandleException method.

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

Nell'esempio di codice seguente viene illustrato come abilitare l' MyExceptionHandler oggetto personalizzato per le eccezioni non gestite che si verificano all'interno del runtime WCF.The following code example shows how to enable the custom MyExceptionHandler for unhandled exceptions that occur within the WCF runtime.

    static void Main(string[] args)
    {
        // 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

Commenti

Estendere la classe ExceptionHandler ed eseguire l'override del metodo HandleException per determinare se un'eccezione deve determinare la chiusura dell'applicazione.Extend the ExceptionHandler class and override the HandleException method to determine whether an exception should terminate the application. Creare quindi una nuova istanza della classe personalizzata ExceptionHandler e assegnarla alla proprietà o TransportExceptionHandler statica AsynchronousThreadExceptionHandler prima di creare client o servizi WCF.Then create a new instance of your custom ExceptionHandler class and assign it to the static AsynchronousThreadExceptionHandler or TransportExceptionHandler property prior to creating WCF clients or services.

Costruttori

ExceptionHandler()

Inizializza una nuova istanza della classe ExceptionHandler.Initializes a new instance of the ExceptionHandler class.

Proprietà

AlwaysHandle

Ottiene un'istanza di ExceptionHandler che gestisce tutte le eccezioni.Gets an instance of ExceptionHandler that handles all exceptions.

AsynchronousThreadExceptionHandler

Ottiene o imposta l'implementazione di ExceptionHandler corrente per il dominio dell'applicazione.Gets or sets the current ExceptionHandler implementation for the application domain.

TransportExceptionHandler

Ottiene o imposta il trasporto di ExceptionHandler corrente per il dominio dell'applicazione.Gets or sets the current transport ExceptionHandler implementation for the application domain.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
HandleException(Exception)

Quando sottoposto a override in una classe derivata, restituisce true se l'eccezione è stata gestita o false se l'eccezione deve essere rigenerata e l'applicazione terminata.When overridden in a derived class, returns true if the exception has been handled, or false if the exception should be rethrown and the application terminated.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a