Aracılığıyla paylaş


ExceptionHandler Sınıf

Tanım

ExceptionHandler Windows Communication Foundation (WCF) çalışma zamanında gerçekleşen işlenmeyen özel durumlar için bir özel durum işleyicisi oluşturmak için sınıfını genişletin.

public ref class ExceptionHandler abstract
public abstract class ExceptionHandler
type ExceptionHandler = class
Public MustInherit Class ExceptionHandler
Devralma
ExceptionHandler

Örnekler

Aşağıdaki kod örneği, soyut sınıfın ExceptionHandler yöntemini geçersiz kılan HandleException bir uygulamasını gösterir.

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

Aşağıdaki kod örneği, WCF çalışma zamanı içinde gerçekleşen işlenmeyen özel durumlar için özel MyExceptionHandler özelliğinin nasıl etkinleştirildiğini gösterir.

    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

Açıklamalar

Sınıfını ExceptionHandler genişletin ve bir özel durumun uygulamayı sonlandırıp sonlandırmayacağını belirlemek için yöntemini geçersiz kılın HandleException . Ardından özel ExceptionHandler sınıfınızın yeni bir örneğini oluşturun ve WCF istemcileri veya hizmetleri oluşturmadan önce bunu statik AsynchronousThreadExceptionHandler veya TransportExceptionHandler özelliğe atayın.

Oluşturucular

ExceptionHandler()

ExceptionHandler sınıfının yeni bir örneğini başlatır.

Özellikler

AlwaysHandle

Tüm özel durumları işleyen bir örneğini ExceptionHandler alır.

AsynchronousThreadExceptionHandler

Uygulama etki alanı için geçerli ExceptionHandler uygulamayı alır veya ayarlar.

TransportExceptionHandler

Uygulama etki alanı için geçerli aktarım ExceptionHandler uygulamasını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
HandleException(Exception)

Türetilmiş bir sınıfta geçersiz kılındığında, özel durumun işlenip işlenmediğini veya false özel durumun yeniden dağıtılması ve uygulamanın sonlandırılıp sonlandırılmaması gerektiğini döndürürtrue.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır