Bagikan melalui


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
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 ServiceModel Metadata Utility Tool (Svcutil.exe) memperluas kelas ClientBase<TChannel> 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

Perluas kelas ClientBase<TChannel> 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 kelas System.ServiceModel.ChannelFactory<TChannel>. Dalam semua kasus kelas ini membungkus atau mengekspos metode dan fungsionalitas kelas System.ServiceModel.ChannelFactory<TChannel> dan antarmuka System.ServiceModel.IClientChannel.

Seperti saat menggunakan kelas System.ServiceModel.ServiceHost, Anda dapat membuat kelas dan memodifikasi titik akhir, pabrik saluran, atau informasi keamanan sebelum melakukan panggilan atau memanggil Open. 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: mereka menyebabkan pengompilasi membuat IDisposablesecara otomatis.

  • Hindari anggota non-referensi: mereka dapat menyebabkan pengompilasi membuat IDisposablesecara otomatis.

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

Konstruktor

ClientBase<TChannel>()

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

ClientBase<TChannel>(Binding, EndpointAddress)

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

ClientBase<TChannel>(InstanceContext)

Menginisialisasi instans baru kelas ClientBase<TChannel> 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 baru kelas ClientBase<TChannel> menggunakan objek InstanceContext dan ServiceEndpoint yang ditentukan.

ClientBase<TChannel>(InstanceContext, String)

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

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 baru kelas ClientBase<TChannel> menggunakan ServiceEndpointyang ditentukan .

ClientBase<TChannel>(String)

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

ClientBase<TChannel>(String, EndpointAddress)

Menginisialisasi instans baru kelas ClientBase<TChannel> 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 ChannelFactory<TChannel> yang mendasar.

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 IClientChannel yang mendasar.

State

Mendapatkan status objek ClientBase<TChannel> saat ini.

Metode

Abort()

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

Close()

Menyebabkan objek ClientBase<TChannel> 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()

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

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

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

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

ICommunicationObject.Close()

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

ICommunicationObject.Close(TimeSpan)

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

ICommunicationObject.Closed

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

ICommunicationObject.Closing

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

ICommunicationObject.EndClose(IAsyncResult)

Menyelesaikan operasi asinkron untuk menutup objek ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Menyelesaikan operasi asinkron untuk membuka objek ClientBase<TChannel>.

ICommunicationObject.Faulted

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

ICommunicationObject.Open()

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

ICommunicationObject.Open(TimeSpan)

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

ICommunicationObject.Opened

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

ICommunicationObject.Opening

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

IDisposable.Dispose()

Implementasi eksplisit dari metode Dispose().

Metode Ekstensi

ConfigureAwait(IAsyncDisposable, Boolean)

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

Berlaku untuk