ClientBase<TChannel> Kelas

Definisi

Menyediakan implementasi dasar yang digunakan untuk membuat objek klien Windows Communication Foundation (WCF) yang dapat memanggil layanan.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : System::ServiceModel::ICommunicationObject
generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IAsyncDisposable, IDisposable, System::ServiceModel::ICommunicationObject
generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IAsyncDisposable, IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
    interface IAsyncDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
    interface IDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements IAsyncDisposable, ICommunicationObject, IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable

Jenis parameter

TChannel

Saluran yang akan digunakan untuk menyambungkan ke layanan.

Warisan
ClientBase<TChannel>
Turunan
Penerapan

Contoh

Contoh kode berikut menunjukkan bagaimana Alat Utilitas Metadata ServiceModel (Svcutil.exe) memperluas ClientBase<TChannel> kelas untuk membuat kelas klien WCF.

public partial class SampleServiceClient : System.ServiceModel.ClientBase<ISampleService>, ISampleService
{

    public SampleServiceClient()
    {
    }

    public SampleServiceClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
    {
    }

    public SampleServiceClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public SampleServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public SampleServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
            base(binding, remoteAddress)
    {
    }

    public string SampleMethod(string msg)
    {
        return base.Channel.SampleMethod(msg);
    }
}
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")> _
Partial Public Class SampleServiceClient
    Inherits System.ServiceModel.ClientBase(Of ISampleService)
    Implements ISampleService

    Public Sub New()
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String)
        MyBase.New(endpointConfigurationName)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(binding, remoteAddress)
    End Sub

    Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
        Return MyBase.Channel.SampleMethod(msg)
    End Function
End Class

Keterangan

ClientBase<TChannel> Perluas kelas untuk membuat objek klien WCF kustom yang dapat digunakan untuk menyambungkan ke layanan. Biasanya, kelas dasar klien WCF diperluas oleh alat seperti ServiceModel Metadata Utility Tool (Svcutil.exe) atas nama Anda. Misalnya, lihat bagian Contoh.

Kelas ClientBase<TChannel> dapat digunakan dengan cepat dan mudah oleh pengembang yang lebih suka objek daripada penggunaan antarmuka dan System.ServiceModel.ChannelFactory<TChannel> kelas. Dalam semua kasus, kelas ini membungkus atau mengekspos metode dan fungsionalitas System.ServiceModel.ChannelFactory<TChannel> kelas dan System.ServiceModel.IClientChannel antarmuka.

Seperti saat menggunakan System.ServiceModel.ServiceHost kelas , Anda dapat membuat kelas dan memodifikasi titik akhir, pabrik saluran, atau informasi keamanan sebelum melakukan panggilan atau panggilan Openapa pun . Untuk informasi selengkapnya, lihat Gambaran Umum Klien WCF dan Mengakses Layanan Menggunakan Klien WCF.

Catatan khusus untuk pengguna C++ Terkelola yang berasal dari kelas ini:

  • Masukkan kode pembersihan Anda di (On)(Begin)Close (dan/atau OnAbort), bukan di destruktor.
  • Hindari destruktor: pengompilasi menyebabkan pengompilasi dibuat IDisposablesecara otomatis .
  • Hindari anggota non-referensi: mereka dapat menyebabkan pengompilasi menghasilkan IDisposablesecara otomatis .
  • Hindari finalizer; tetapi jika Anda menyertakannya, Anda harus menekan peringatan build dan panggilan SuppressFinalize(Object) dan finalizer itu sendiri dari (On)(Begin)Close (dan/atau OnAbort) untuk meniru apa yang akan menjadi perilaku yang dihasilkan IDisposable secara otomatis.

Konstruktor

Nama Deskripsi
ClientBase<TChannel>()

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan titik akhir target default dari file konfigurasi aplikasi.

ClientBase<TChannel>(Binding, EndpointAddress)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan pengikatan dan alamat target yang ditentukan.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Menginisialisasi instans baru dari kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan objek dan InstanceContext yang ditentukanServiceEndpoint.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Menginisialisasi instans baru dari kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Menginisialisasi instans baru dari kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan layanan panggilan balik dan informasi konfigurasi titik akhir yang ditentukan.

ClientBase<TChannel>(InstanceContext)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan callbackInstance sebagai objek panggilan balik dalam percakapan dupleks.

ClientBase<TChannel>(ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan ServiceEndpoint.

ClientBase<TChannel>(String, EndpointAddress)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan alamat target dan informasi titik akhir yang ditentukan.

ClientBase<TChannel>(String, String)

Menginisialisasi instans baru dari kelas ClientBase<TChannel>.

ClientBase<TChannel>(String)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan informasi konfigurasi yang ditentukan dalam file konfigurasi aplikasi oleh endpointConfigurationName.

Properti

Nama Deskripsi
CacheSetting

Mendapatkan atau mengatur pengaturan cache.

Channel

Mendapatkan saluran dalam yang digunakan untuk mengirim pesan ke berbagai titik akhir layanan yang dikonfigurasi.

ChannelFactory

Mendapatkan objek yang mendasar ChannelFactory<TChannel> .

ClientCredentials

Mendapatkan kredensial klien yang digunakan untuk memanggil operasi.

Endpoint

Mendapatkan titik akhir target untuk layanan yang dapat disambungkan oleh klien WCF.

InnerChannel

Mendapatkan implementasi yang mendasar IClientChannel .

State

Mendapatkan status ClientBase<TChannel> objek saat ini.

Metode

Nama Deskripsi
Abort()

ClientBase<TChannel> Menyebabkan objek segera beralih dari statusnya saat ini ke status tertutup.

Close()

ClientBase<TChannel> Menyebabkan objek beralih dari statusnya saat ini ke status tertutup.

CloseAsync()

Menyediakan implementasi dasar yang digunakan untuk membuat objek klien Windows Communication Foundation (WCF) yang dapat memanggil layanan.

CreateChannel()

Mengembalikan saluran baru ke layanan.

DisplayInitializationUI()

Menginstruksikan saluran dalam untuk menampilkan antarmuka pengguna jika diperlukan untuk menginisialisasi saluran sebelum menggunakannya.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetDefaultValueForInitialization<T>()

Mereplikasi perilaku kata kunci default di C#.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Menyediakan dukungan untuk menerapkan pola asinkron berbasis peristiwa. Untuk informasi selengkapnya tentang pola ini, lihat Gambaran Umum Pola Asinkron berbasis peristiwa.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Open()

ClientBase<TChannel> Menyebabkan objek beralih dari status yang dibuat ke status terbuka.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IAsyncDisposable.DisposeAsync()

Menyediakan implementasi dasar yang digunakan untuk membuat objek klien Windows Communication Foundation (WCF) yang dapat memanggil layanan.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Memulai operasi asinkron untuk menutup ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Memulai operasi asinkron untuk menutup ClientBase<TChannel> dengan batas waktu yang ditentukan.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Memulai operasi asinkron untuk membuka ClientBase<TChannel> objek.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Memulai operasi asinkron untuk membuka ClientBase<TChannel> objek dalam interval waktu tertentu.

ICommunicationObject.Close()

Menyebabkan objek komunikasi beralih dari statusnya saat ini ke status tertutup.

ICommunicationObject.Close(TimeSpan)

ClientBase<TChannel> Menyebabkan objek beralih dari statusnya saat ini ke status tertutup.

ICommunicationObject.Closed

Penanganan aktivitas yang dipanggil ketika ClientBase<TChannel> objek telah beralih dari statusnya saat ini ke status tertutup.

ICommunicationObject.Closing

Penanganan aktivitas yang dipanggil ketika ClientBase<TChannel> objek beralih dari statusnya saat ini ke status tertutup.

ICommunicationObject.EndClose(IAsyncResult)

Menyelesaikan operasi asinkron untuk menutup ClientBase<TChannel> objek.

ICommunicationObject.EndOpen(IAsyncResult)

Menyelesaikan operasi asinkron untuk membuka ClientBase<TChannel> objek.

ICommunicationObject.Faulted

Penanganan aktivitas yang dipanggil ketika kesalahan terjadi saat melakukan operasi pada ClientBase<TChannel> objek.

ICommunicationObject.Open()

Menyebabkan objek komunikasi beralih dari status yang dibuat ke status terbuka.

ICommunicationObject.Open(TimeSpan)

ClientBase<TChannel> Menyebabkan objek beralih dari status yang dibuat ke status yang dibuka dalam interval waktu yang ditentukan.

ICommunicationObject.Opened

Penanganan aktivitas yang dipanggil saat ClientBase<TChannel> objek beralih dari status yang dibuat ke status dibuka.

ICommunicationObject.Opening

Penanganan aktivitas yang dipanggil saat ClientBase<TChannel> objek beralih dari status yang dibuat ke status dibuka.

IDisposable.Dispose()

Implementasi eksplisit metode Dispose() .

Berlaku untuk