ClientBase<TChannel> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi.
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
Parametry typu
- TChannel
Kanał, który ma być używany do nawiązywania połączenia z usługą.
- Dziedziczenie
-
ClientBase<TChannel>
- Pochodne
- Implementuje
Przykłady
Poniższy przykład kodu pokazuje, jak narzędzie ServiceModel Metadata Tool (Svcutil.exe) rozszerza klasę ClientBase<TChannel> w celu utworzenia klasy klienta 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
Uwagi
Rozszerz klasę ClientBase<TChannel>, aby utworzyć niestandardowy obiekt klienta WCF, który może służyć do nawiązywania połączenia z usługą. Zazwyczaj klasa podstawowa klienta WCF jest rozszerzana przez narzędzie, takie jak narzędzie ServiceModel Metadata Tool (Svcutil.exe) w Twoim imieniu. Przykład można znaleźć w sekcji Przykład.
Klasa ClientBase<TChannel> może być używana szybko i łatwo przez deweloperów, którzy wolą obiekty do korzystania z interfejsów i klasy System.ServiceModel.ChannelFactory<TChannel>. We wszystkich przypadkach ta klasa opakowuje lub uwidacznia metody i funkcje klasy System.ServiceModel.ChannelFactory<TChannel> oraz interfejs System.ServiceModel.IClientChannel.
Tak jak w przypadku korzystania z klasy System.ServiceModel.ServiceHost, można utworzyć klasę i zmodyfikować punkt końcowy, fabrykę kanałów lub informacje o zabezpieczeniach przed wykonaniem wywołań lub wywołania Open. Aby uzyskać więcej informacji, zobacz Omówienie klienta WCF i uzyskiwanie dostępu do usług przy użyciu klienta WCF.
Szczególna uwaga dla użytkowników zarządzanego języka C++ pochodnych z tej klasy:
Umieść kod czyszczenia w (On)(Begin)Close (i/lub OnAbort), a nie w destruktora.
Unikaj destruktorów: powodują one automatyczne generowanie IDisposablekompilatora.
Unikaj elementów członkowskich innych niż odwołania: mogą spowodować, że kompilator automatycznie wygeneruje IDisposable.
Unikaj finalizatorów; ale jeśli go dołączysz, należy pominąć ostrzeżenie kompilacji i wywołać SuppressFinalize(Object) i sam finalizator z (On)(Begin)Close (i/lub OnAbort), aby emulować zachowanie wygenerowane automatycznie IDisposable.
Konstruktory
ClientBase<TChannel>() |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu domyślnego docelowego punktu końcowego z pliku konfiguracji aplikacji. |
ClientBase<TChannel>(Binding, EndpointAddress) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonego powiązania i adresu docelowego. |
ClientBase<TChannel>(InstanceContext) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu |
ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel>. |
ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych obiektów InstanceContext i ServiceEndpoint. |
ClientBase<TChannel>(InstanceContext, String) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych informacji o konfiguracji wywołania zwrotnego i punktu końcowego. |
ClientBase<TChannel>(InstanceContext, String, EndpointAddress) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel>. |
ClientBase<TChannel>(InstanceContext, String, String) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel>. |
ClientBase<TChannel>(ServiceEndpoint) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonego ServiceEndpoint. |
ClientBase<TChannel>(String) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu informacji o konfiguracji określonych w pliku konfiguracji aplikacji przez |
ClientBase<TChannel>(String, EndpointAddress) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych informacji o adresie docelowym i punkcie końcowym. |
ClientBase<TChannel>(String, String) |
Inicjuje nowe wystąpienie klasy ClientBase<TChannel>. |
Właściwości
CacheSetting |
Pobiera lub ustawia ustawienie pamięci podręcznej. |
Channel |
Pobiera kanał wewnętrzny używany do wysyłania komunikatów do różnych skonfigurowanych punktów końcowych usługi. |
ChannelFactory |
Pobiera podstawowy obiekt ChannelFactory<TChannel>. |
ClientCredentials |
Pobiera poświadczenia klienta używane do wywoływania operacji. |
Endpoint |
Pobiera docelowy punkt końcowy usługi, z którą klient programu WCF może nawiązać połączenie. |
InnerChannel |
Pobiera podstawową implementację IClientChannel. |
State |
Pobiera bieżący stan obiektu ClientBase<TChannel>. |
Metody
Abort() |
Powoduje, że obiekt ClientBase<TChannel> przechodzi natychmiast ze stanu bieżącego do stanu zamkniętego. |
Close() |
Powoduje przejście obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego. |
CloseAsync() |
Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi. |
CreateChannel() |
Zwraca nowy kanał do usługi. |
DisplayInitializationUI() |
Instruuje wewnętrzny kanał, aby wyświetlić interfejs użytkownika, jeśli jest wymagany do zainicjowania kanału przed jego użyciem. |
Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
GetDefaultValueForInitialization<T>() |
Replikuje zachowanie domyślnego słowa kluczowego w języku C#. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Zapewnia obsługę implementowania wzorca asynchronicznego opartego na zdarzeniach. Aby uzyskać więcej informacji na temat tego wzorca, zobacz Asynchroniczny wzorzec oparty na zdarzeniach — omówienie. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
Open() |
Powoduje przejście obiektu ClientBase<TChannel> z utworzonego stanu do stanu otwartego. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IAsyncDisposable.DisposeAsync() |
Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi. |
ICommunicationObject.BeginClose(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zamknąć ClientBase<TChannel>. |
ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zamknąć ClientBase<TChannel> z określonym limitem czasu. |
ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel>. |
ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel> w określonym przedziale czasu. |
ICommunicationObject.Close() |
Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego. |
ICommunicationObject.Close(TimeSpan) |
Powoduje przejście obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego. |
ICommunicationObject.Closed |
Procedura obsługi zdarzeń wywoływana po przejściu obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego. |
ICommunicationObject.Closing |
Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi z bieżącego stanu do stanu zamkniętego. |
ICommunicationObject.EndClose(IAsyncResult) |
Wykonuje operację asynchroniczną, aby zamknąć obiekt ClientBase<TChannel>. |
ICommunicationObject.EndOpen(IAsyncResult) |
Wykonuje operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel>. |
ICommunicationObject.Faulted |
Procedura obsługi zdarzeń wywoływana w przypadku wystąpienia błędu podczas wykonywania operacji na obiekcie ClientBase<TChannel>. |
ICommunicationObject.Open() |
Powoduje przejście obiektu komunikacyjnego ze stanu utworzonego na otwarty stan. |
ICommunicationObject.Open(TimeSpan) |
Powoduje przejście obiektu ClientBase<TChannel> z utworzonego stanu do otwartego stanu w określonym przedziale czasu. |
ICommunicationObject.Opened |
Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi ze stanu utworzonego na otwarty. |
ICommunicationObject.Opening |
Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi ze stanu utworzonego na otwarty. |
IDisposable.Dispose() |
Jawna implementacja metody Dispose(). |
Metody rozszerzania
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, w jaki sposób będą wykonywane oczekiwania na zadania zwrócone z asynchronicznego jednorazowego użytku. |