CommunicationException Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili kesalahan komunikasi dalam layanan atau aplikasi klien.
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
- Warisan
- Warisan
- Turunan
- Atribut
Contoh
Contoh kode berikut menunjukkan klien yang menangani CommunicationException jenis. Klien ini juga menangani FaultException objek karena layanan telah IncludeExceptionDetailInFaults diatur ke true.
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
Keterangan
Aplikasi Windows Communication Foundation (WCF) klien dan layanan yang kuat menangani CommunicationException objek yang mungkin dilemparkan selama komunikasi. Ada juga dua CommunicationExceptionjenis pengecualian turunan (FaultException<TDetail> dan FaultException) yang juga sering diharapkan klien. Oleh karena itu, untuk mencegah handler generik CommunicationException menangkap jenis pengecualian yang lebih spesifik ini, tangkap pengecualian ini sebelum menangani CommunicationException.
-
FaultException<TDetail> objek dilemparkan pada klien ketika kesalahan SOAP yang ditentukan dalam kontrak operasi diterima sebagai respons terhadap operasi dua arah (yaitu, metode dengan atribut dengan OperationContractAttributeIsOneWay diatur ke
false).
FaultException objek dilemparkan ketika pendengar menerima kesalahan SOAP yang tidak diharapkan atau ditentukan dalam kontrak operasi. Ini biasanya terjadi ketika aplikasi sedang di-debug dan layanan memiliki properti yang IncludeExceptionDetailInFaults diatur ke true.
Nota
Saat menerapkan saluran kustom dan elemen pengikatan, sangat disarankan agar komponen Anda hanya System.TimeoutException melemparkan atau CommunicationException-turunan objek. Dalam kasus di mana komponen Anda melemparkan pengecualian yang dapat dipulihkan yang khusus untuk komponen, bungkus pengecualian itu di dalam CommunicationException objek.
Untuk detail selengkapnya tentang merancang dan menggunakan sistem kesalahan WCF, lihat Menentukan dan Menangani Kesalahan dalam Kontrak dan Layanan.
Penting
Runtime WCF tidak akan melempar CommunicationException yang tidak aman untuk ditangani pada titik di mana ia meninggalkan Runtime WCF dan memasukkan kode pengguna.
Konstruktor
| Nama | Deskripsi |
|---|---|
| CommunicationException() |
Menginisialisasi instans baru dari kelas CommunicationException. |
| CommunicationException(SerializationInfo, StreamingContext) |
Menginisialisasi instans CommunicationException baru kelas, menggunakan informasi serialisasi dan objek konteks yang ditentukan. |
| CommunicationException(String, Exception) |
Menginisialisasi instans CommunicationException baru kelas, menggunakan pesan yang ditentukan dan pengecualian dalam. |
| CommunicationException(String) |
Menginisialisasi instans CommunicationException baru kelas, menggunakan pesan yang ditentukan. |
Properti
| Nama | Deskripsi |
|---|---|
| Data |
Mendapatkan kumpulan pasangan kunci/nilai yang memberikan informasi tambahan yang ditentukan pengguna tentang pengecualian. (Diperoleh dari Exception) |
| HelpLink |
Mendapatkan atau mengatur tautan ke file bantuan yang terkait dengan pengecualian ini. (Diperoleh dari Exception) |
| HResult |
Mendapatkan atau mengatur HRESULT, nilai numerik berkode yang ditetapkan ke pengecualian tertentu. (Diperoleh dari Exception) |
| InnerException |
Mendapatkan instans Exception yang menyebabkan pengecualian saat ini. (Diperoleh dari Exception) |
| Message |
Mendapatkan pesan yang menjelaskan pengecualian saat ini. (Diperoleh dari Exception) |
| Source |
Mendapatkan atau mengatur nama aplikasi atau objek yang menyebabkan kesalahan. (Diperoleh dari Exception) |
| StackTrace |
Mendapatkan representasi string dari bingkai langsung pada tumpukan panggilan. (Diperoleh dari Exception) |
| TargetSite |
Mendapatkan metode yang melemparkan pengecualian saat ini. (Diperoleh dari Exception) |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetBaseException() |
Ketika ditimpa di kelas turunan, mengembalikan Exception yang merupakan akar penyebab dari satu atau beberapa pengecualian berikutnya. (Diperoleh dari Exception) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Saat ditimpa di kelas turunan, mengatur SerializationInfo dengan informasi tentang pengecualian. (Diperoleh dari Exception) |
| GetType() |
Mendapatkan jenis runtime instans saat ini. (Diperoleh dari Exception) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Membuat dan mengembalikan representasi string dari pengecualian saat ini. (Diperoleh dari Exception) |
Acara
| Nama | Deskripsi |
|---|---|
| SerializeObjectState |
Kedaluwarsa.
Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian. (Diperoleh dari Exception) |