ExceptionHandler Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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).
public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
- Ereditarietà
-
ExceptionHandler
Esempio
Nell'esempio di codice seguente viene illustrata un'implementazione della classe ExceptionHandler astratta che esegue l'override del metodo 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
Nell'esempio di codice seguente viene illustrato come abilitare l'eccezione personalizzata MyExceptionHandler
per le eccezioni non gestite che si verificano all'interno del runtime WCF.
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. Creare quindi una nuova istanza della classe personalizzata ExceptionHandler e assegnarla alla proprietà statica AsynchronousThreadExceptionHandler o TransportExceptionHandler prima di creare client o servizi WCF.
Costruttori
ExceptionHandler() |
Inizializza una nuova istanza della classe ExceptionHandler. |
Proprietà
AlwaysHandle |
Ottiene un'istanza di ExceptionHandler che gestisce tutte le eccezioni. |
AsynchronousThreadExceptionHandler |
Ottiene o imposta l'implementazione di ExceptionHandler corrente per il dominio dell'applicazione. |
TransportExceptionHandler |
Ottiene o imposta il trasporto di ExceptionHandler corrente per il dominio dell'applicazione. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HandleException(Exception) |
Quando sottoposto a override in una classe derivata, restituisce |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |