CommunicationException Osztály

Definíció

Kommunikációs hibát jelöl a szolgáltatásban vagy az ügyfélalkalmazásban.

public ref class CommunicationException : Exception
public ref class CommunicationException : SystemException
public class CommunicationException : Exception
[System.Serializable]
public class CommunicationException : SystemException
type CommunicationException = class
    inherit Exception
[<System.Serializable>]
type CommunicationException = class
    inherit SystemException
Public Class CommunicationException
Inherits Exception
Public Class CommunicationException
Inherits SystemException
Öröklődés
CommunicationException
Öröklődés
CommunicationException
Származtatott
Attribútumok

Példák

Az alábbi példakód egy típusokat kezelő ügyfelet CommunicationException mutat be. Ez az ügyfél az objektumokat FaultException is kezeli, mert a szolgáltatás a következőre IncludeExceptionDetailInFaultsvan true állítva: .

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using Microsoft.WCF.Documentation;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the configuration file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));
      Console.WriteLine("Press ENTER to exit:");
      Console.ReadLine();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.ReadLine();
    }
    // Catch the contractually specified SOAP fault raised here as an exception.
    catch (FaultException<GreetingFault> greetingFault)
    {
      Console.WriteLine(greetingFault.Detail.Message);
      Console.Read();
      wcfClient.Abort();
    }
    // Catch unrecognized faults. This handler receives exceptions thrown by WCF
    // services when ServiceDebugBehavior.IncludeExceptionDetailInFaults
    // is set to true.
    catch (FaultException faultEx)
    {
      Console.WriteLine("An unknown exception was received. "
        + faultEx.Message
        + faultEx.StackTrace
      );
      Console.Read();
      wcfClient.Abort();
    }
    // Standard communication fault handler.
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message + commProblem.StackTrace);
      Console.Read();
      wcfClient.Abort();
    }
  }
}

Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports Microsoft.WCF.Documentation

Public Class Client
  Public Shared Sub Main()
    ' Picks up configuration from the configuration file.
    Dim wcfClient As New SampleServiceClient()
    Try
      ' Making calls.
      Console.WriteLine("Enter the greeting to send: ")
      Dim greeting As String = Console.ReadLine()
      Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))
      Console.WriteLine("Press ENTER to exit:")
      Console.ReadLine()
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      wcfClient.Abort()
      Console.ReadLine()
    ' Catch the contractually specified SOAP fault raised here as an exception.
    Catch greetingFault As FaultException(Of GreetingFault)
      Console.WriteLine(greetingFault.Detail.Message)
      Console.Read()
      wcfClient.Abort()
    ' Catch unrecognized faults. This handler receives exceptions thrown by WCF
    ' services when ServiceDebugBehavior.IncludeExceptionDetailInFaults 
    ' is set to true.
    Catch faultEx As FaultException
      Console.WriteLine("An unknown exception was received. " & faultEx.Message + faultEx.StackTrace)
      Console.Read()
      wcfClient.Abort()
    ' Standard communication fault handler.
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message + commProblem.StackTrace)
      Console.Read()
      wcfClient.Abort()
    End Try
  End Sub
End Class

Megjegyzések

A robusztus ügyfél- és szolgáltatás Windows kommunikációs alaprendszer (WCF) alkalmazások CommunicationException objektumokat kezelnek, amelyeket a kommunikáció során dobhatnak el. Két származtatott kivételtípus is CommunicationExceptionlétezik (FaultException<TDetail> és FaultException), amelyeket az ügyfelek is gyakran elvárnak. Ezért annak érdekében, hogy az általános CommunicationException kezelő ne tudja elkapni ezeket a speciálisabb kivételtípusokat, a kezelés CommunicationExceptionelőtt fogja el ezeket a kivételeket.

FaultException objektumokat a rendszer akkor dob ki, ha a figyelő olyan SOAP-hibát kap, amely nem várható vagy nincs megadva a műveleti szerződésben. Ez általában akkor fordul elő, ha az alkalmazás hibakeresése folyamatban van, és a szolgáltatás tulajdonsága a IncludeExceptionDetailInFaults következőre truevan állítva: .

Note

Egyéni csatornák és kötéselemek megvalósításakor erősen ajánlott, hogy az összetevők csak vagy System.TimeoutExceptionszármaztatott CommunicationException objektumokat dobjanak. Abban az esetben, ha az összetevők az összetevőre jellemző helyreállítható kivételt eredményeznek, csomagolja be a kivételt egy CommunicationException objektumba.

A WCF-hibarendszer tervezésével és használatával kapcsolatos további részletekért lásd: Szerződések és szolgáltatások hibáinak megadása és kezelése.

Important

A WCF-futtatókörnyezet nem fog olyan hibát dobni CommunicationException , amelyet nem biztonságos kezelni azon a ponton, ahol elhagyja a WCF-futtatókörnyezetet, és beírja a felhasználói kódot.

Konstruktorok

Name Description
CommunicationException()

Inicializálja a CommunicationException osztály új példányát.

CommunicationException(SerializationInfo, StreamingContext)

Inicializálja az CommunicationException osztály új példányát a megadott szerializálási információk és környezetobjektumok használatával.

CommunicationException(String, Exception)

Inicializálja az CommunicationException osztály új példányát a megadott üzenet és a belső kivétel használatával.

CommunicationException(String)

Inicializálja az CommunicationException osztály új példányát a megadott üzenet használatával.

Tulajdonságok

Name Description
Data

Lekéri a kulcs-/érték párok gyűjteményét, amelyek további, felhasználó által definiált információkat biztosítanak a kivételről.

(Öröklődés forrása Exception)
HelpLink

Lekéri vagy beállítja a kivételhez társított súgófájlra mutató hivatkozást.

(Öröklődés forrása Exception)
HResult

Lekéri vagy beállítja a HRESULT-ot, egy kódolt numerikus értéket, amely egy adott kivételhez van hozzárendelve.

(Öröklődés forrása Exception)
InnerException

Lekéri az Exception aktuális kivételt okozó példányt.

(Öröklődés forrása Exception)
Message

Az aktuális kivételt leíró üzenet jelenik meg.

(Öröklődés forrása Exception)
Source

Lekéri vagy beállítja az alkalmazás vagy a hibát okozó objektum nevét.

(Öröklődés forrása Exception)
StackTrace

Lekéri a hívásverem közvetlen kereteinek sztringképét.

(Öröklődés forrása Exception)
TargetSite

Lekéri az aktuális kivételt okozó metódust.

(Öröklődés forrása Exception)

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetBaseException()

Ha egy származtatott osztály felül van bírálva, egy Exception vagy több későbbi kivétel kiváltó okát adja vissza.

(Öröklődés forrása Exception)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetObjectData(SerializationInfo, StreamingContext)
Elavult.

Ha felül van bírálva egy származtatott osztályban, a SerializationInfo kivétel adatait adja meg.

(Öröklődés forrása Exception)
GetType()

Lekéri az aktuális példány futtatókörnyezeti típusát.

(Öröklődés forrása Exception)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Létrehozza és visszaadja az aktuális kivétel sztring-ábrázolását.

(Öröklődés forrása Exception)

esemény

Name Description
SerializeObjectState
Elavult.

Akkor fordul elő, ha a kivétel szerializálva van egy kivételállapot-objektum létrehozásához, amely szerializált adatokat tartalmaz a kivételről.

(Öröklődés forrása Exception)

A következőre érvényes: