ClientBase<TChannel> Sınıf

Tanım

Hizmetleri çağırabilen Windows Communication Foundation (WCF) istemci nesneleri oluşturmak için kullanılan temel uygulamayı sağlar.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : 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> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
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 ICommunicationObject, IDisposable

Tür Parametreleri

TChannel

Hizmete bağlanmak için kullanılacak kanal.

Devralma
ClientBase<TChannel>
Türetilmiş
Uygulamalar

Örnekler

Aşağıdaki kod örneği , ServiceModel Meta Veri Yardımcı Programı Aracı'nın (Svcutil.exe) sınıfını bir WCF istemci sınıfı oluşturmak için nasıl genişletir ClientBase<TChannel> gösterir.

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

Açıklamalar

Sınıfını ClientBase<TChannel> genişleterek bir hizmete bağlanmak için kullanılabilecek özel bir WCF istemci nesnesi oluşturun. WcF istemci temel sınıfı genellikle sizin adınıza ServiceModel Meta Veri Yardımcı Programı Aracı (Svcutil.exe) gibi bir araç tarafından genişletilir. Örnek için Örnek bölümüne bakın.

sınıfı, ClientBase<TChannel> nesneleri arabirimlerin ve sınıfın kullanımına tercih eden geliştiriciler tarafından hızlı ve System.ServiceModel.ChannelFactory<TChannel> kolay bir şekilde kullanılabilir. Her durumda bu sınıf, sınıfın ve arabirimin System.ServiceModel.ChannelFactory<TChannel> yöntemlerini ve işlevselliğini sarmalar veya System.ServiceModel.IClientChannel kullanıma sunar.

sınıfını System.ServiceModel.ServiceHost kullanırken olduğu gibi, herhangi bir çağrı yapmadan veya çağırmadan Openönce sınıfını oluşturabilir ve uç nokta, kanal fabrikası veya güvenlik bilgilerini değiştirebilirsiniz. Daha fazla bilgi için bkz . WCF İstemcisi'ne Genel Bakış ve WCF İstemcisi Kullanarak Hizmetlere Erişme.

Bu sınıftan türetilen Yönetilen C++ kullanıcıları için özel not:

  • Temizleme kodunuzu bir yıkıcıya değil (On)(Begin)Close (ve/veya OnAbort) içine yerleştirin.
  • Yıkıcılardan kaçının: derleyicinin otomatik olarak oluşturmasına IDisposableneden olurlar.
  • Başvuru olmayan üyelerden kaçının: derleyicinin otomatik olarak oluşturmasına IDisposableneden olabilirler.
  • Sonlandırıcılardan kaçının; ancak bir tane eklerseniz, otomatik oluşturulan SuppressFinalize(Object) davranışın ne olduğunu öykünmek için derleme uyarısını ve çağrısını IDisposable ve sonlandırıcının kendisini (Açık)(Başlangıç)Kapat (ve/veya OnAbort) öğesinden gizlemeniz gerekir.

Oluşturucular

Name Description
ClientBase<TChannel>()

Uygulama yapılandırma dosyasından ClientBase<TChannel> varsayılan hedef uç noktayı kullanarak sınıfın yeni bir örneğini başlatır.

ClientBase<TChannel>(Binding, EndpointAddress)

Belirtilen bağlama ve hedef adresi kullanarak sınıfın yeni bir örneğini ClientBase<TChannel> başlatır.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

ClientBase<TChannel> sınıfının yeni bir örneğini başlatır.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Belirtilen ClientBase<TChannel> ve InstanceContext nesnelerini kullanarak sınıfın ServiceEndpoint yeni bir örneğini başlatır.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

ClientBase<TChannel> sınıfının yeni bir örneğini başlatır.

ClientBase<TChannel>(InstanceContext, String, String)

ClientBase<TChannel> sınıfının yeni bir örneğini başlatır.

ClientBase<TChannel>(InstanceContext, String)

Belirtilen geri çağırma hizmeti ve uç nokta yapılandırma bilgilerini kullanarak sınıfın yeni bir örneğini ClientBase<TChannel> başlatır.

ClientBase<TChannel>(InstanceContext)

çift yönlü konuşmada ClientBase<TChannel> geri çağırma nesnesi olarak kullanarak callbackInstance sınıfının yeni bir örneğini başlatır.

ClientBase<TChannel>(ServiceEndpoint)

Belirtilen ClientBase<TChannel>öğesini kullanarak sınıfının yeni bir örneğini ServiceEndpoint başlatır.

ClientBase<TChannel>(String, EndpointAddress)

Belirtilen hedef adresi ve uç nokta bilgilerini kullanarak sınıfın yeni bir örneğini ClientBase<TChannel> başlatır.

ClientBase<TChannel>(String, String)

ClientBase<TChannel> sınıfının yeni bir örneğini başlatır.

ClientBase<TChannel>(String)

tarafından endpointConfigurationNameuygulama yapılandırma dosyasında belirtilen yapılandırma bilgilerini kullanarak sınıfının yeni bir örneğini ClientBase<TChannel> başlatır.

Özellikler

Name Description
CacheSetting

Önbellek ayarını alır veya ayarlar.

Channel

Çeşitli yapılandırılmış hizmet uç noktalarına ileti göndermek için kullanılan iç kanalı alır.

ChannelFactory

Temel alınan ChannelFactory<TChannel> nesneyi alır.

ClientCredentials

bir işlemi çağırmak için kullanılan istemci kimlik bilgilerini alır.

Endpoint

WCF istemcisinin bağlanabileceği hizmetin hedef uç noktasını alır.

InnerChannel

Temel IClientChannel alınan uygulamayı alır.

State

Nesnenin geçerli durumunu ClientBase<TChannel> alır.

Yöntemler

Name Description
Abort()

Nesnenin ClientBase<TChannel> geçerli durumundan hemen kapalı duruma geçmesine neden olur.

Close()

Nesnenin ClientBase<TChannel> geçerli durumundan kapalı duruma geçmesine neden olur.

CreateChannel()

Hizmete yeni bir kanal döndürür.

DisplayInitializationUI()

İç kanala, kanalı kullanmadan önce başlatmak için gerekliyse bir kullanıcı arabirimi görüntülemesini bildirir.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetDefaultValueForInitialization<T>()

C# dilinde varsayılan anahtar sözcüğün davranışını çoğaltır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Olay tabanlı zaman uyumsuz deseni uygulamak için destek sağlar. Bu düzen hakkında daha fazla bilgi için bkz. Olay Tabanlı Zaman Uyumsuz Desene Genel Bakış.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Open()

Nesnenin ClientBase<TChannel> oluşturulan durumdan açık duruma geçmesine neden olur.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
ICommunicationObject.BeginClose(AsyncCallback, Object)

kapatmak için ClientBase<TChannel>zaman uyumsuz bir işlem başlatır.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

belirtilen zaman aşımıyla kapatmak ClientBase<TChannel> için zaman uyumsuz bir işlem başlatır.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Nesneyi açmak ClientBase<TChannel> için zaman uyumsuz bir işlem başlatır.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Nesneyi belirli bir zaman aralığı içinde açmak ClientBase<TChannel> için zaman uyumsuz bir işlem başlatır.

ICommunicationObject.Close()

İletişim nesnesinin geçerli durumundan kapalı duruma geçmesine neden olur.

ICommunicationObject.Close(TimeSpan)

Nesnenin ClientBase<TChannel> geçerli durumundan kapalı duruma geçmesine neden olur.

ICommunicationObject.Closed

Nesne geçerli durumundan kapalı duruma geçtiğinde ClientBase<TChannel> çağrılan olay işleyicisi.

ICommunicationObject.Closing

Nesne geçerli durumundan kapalı duruma geçtiğinde ClientBase<TChannel> çağrılan olay işleyicisi.

ICommunicationObject.EndClose(IAsyncResult)

Nesneyi kapatmak ClientBase<TChannel> için zaman uyumsuz bir işlemi tamamlar.

ICommunicationObject.EndOpen(IAsyncResult)

Nesneyi açmak için zaman uyumsuz bir işlemi tamamlar ClientBase<TChannel> .

ICommunicationObject.Faulted

Nesne üzerinde bir işlem gerçekleştirirken bir hata oluştuğunda çağrılan olay işleyicisi ClientBase<TChannel> .

ICommunicationObject.Open()

Bir iletişim nesnesinin oluşturulan durumdan açık duruma geçmesine neden olur.

ICommunicationObject.Open(TimeSpan)

Nesnenin ClientBase<TChannel> , belirtilen süre içinde oluşturulan durumdan açık duruma geçmesine neden olur.

ICommunicationObject.Opened

Nesne oluşturulan durumdan açık duruma geçtiğinde ClientBase<TChannel> çağrılan olay işleyicisi.

ICommunicationObject.Opening

Nesne oluşturulan durumdan açık duruma geçtiğinde ClientBase<TChannel> çağrılan olay işleyicisi.

IDisposable.Dispose()

Yönteminin Dispose() açık uygulaması.

Şunlara uygulanır