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 : IDisposable, System::ServiceModel::ICommunicationObject
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
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IAsyncDisposable, IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
    interface IDisposable
    interface IAsyncDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
    interface IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements IAsyncDisposable, ICommunicationObject, IDisposable

Jenis parameter

TChannel

Saluran yang akan digunakan untuk menyambungkan ke layanan.

Warisan
ClientBase<TChannel>
Turunan
Penerapan

Contoh

Contoh kode berikut menunjukkan bagaimana ServiceModel Metadata Utility Tool (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. Sebagai contoh, 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 membuat IDisposableotomatis .

  • Hindari finalizer; tetapi jika Anda menyertakannya, Anda harus menekan peringatan dan panggilan SuppressFinalize(Object) build dan finalizer itu sendiri dari (On)(Begin)Close (dan/atau OnAbort) untuk meniru apa yang akan menjadi perilaku yang dihasilkan IDisposable secara otomatis.

Konstruktor

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)

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

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan objek dan ServiceEndpoint yang ditentukanInstanceContext.

ClientBase<TChannel>(InstanceContext, String)

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

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan yang ditentukan ServiceEndpoint.

ClientBase<TChannel>(String)

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

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 kelas ClientBase<TChannel>.

Properti

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

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 dari instans Type 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 saat ini Object.

(Diperoleh dari Object)
Open()

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

OpenAsync()

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

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

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 dibuka.

ICommunicationObject.Open(TimeSpan)

ClientBase<TChannel> Menyebabkan objek beralih dari status yang dibuat ke status 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() .

Metode Ekstensi

CloseHelperAsync(ICommunicationObject, TimeSpan)

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

OpenHelperAsync(ICommunicationObject, TimeSpan)

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

ConfigureAwait(IAsyncDisposable, Boolean)

Mengonfigurasi bagaimana menunggu tugas yang dikembalikan dari asinkron sekali pakai dilakukan.

Berlaku untuk