ClientBase<TChannel> Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt de basis-implementatie die wordt gebruikt voor het maken van Windows Communication Foundation (WCF)-clientobjecten die services kunnen aanroepen.
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
Type parameters
- TChannel
Het kanaal dat moet worden gebruikt om verbinding te maken met de service.
- Overname
-
ClientBase<TChannel>
- Afgeleid
- Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u hoe het Hulpprogramma voor metagegevens van ServiceModel (Svcutil.exe) de ClientBase<TChannel> klasse uitbreidt om een WCF-clientklasse te maken.
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
Opmerkingen
Breid de ClientBase<TChannel> klasse uit om een aangepast WCF-clientobject te maken dat kan worden gebruikt om verbinding te maken met een service. Normaal gesproken wordt de WCF-clientbasisklasse uitgebreid met een hulpprogramma zoals het hulpprogramma ServiceModel Metadata Utility (Svcutil.exe) namens u. Zie de sectie Voorbeeld voor een voorbeeld.
De ClientBase<TChannel> klasse kan snel en eenvoudig worden gebruikt door ontwikkelaars die de voorkeur geven aan objecten voor het gebruik van de interfaces en de System.ServiceModel.ChannelFactory<TChannel> klasse. In alle gevallen worden de methoden en functionaliteit van de System.ServiceModel.ChannelFactory<TChannel> klasse en de System.ServiceModel.IClientChannel interface verpakt of weergegeven.
Net als bij het gebruik van de System.ServiceModel.ServiceHost klasse kunt u de klasse maken en het eindpunt, de kanaalfactory of de beveiligingsgegevens wijzigen voordat u aanroepen of aanroepen doet Open. Zie wcf-clientoverzicht en toegang tot services met behulp van een WCF-client voor meer informatie.
Speciale opmerking voor beheerde C++-gebruikers die zijn afgeleid van deze klasse:
- Plaats de opschooncode in (On)(Begin)Close (en/of OnAbort), niet in een destructor.
- Vermijd destructors: ze zorgen ervoor dat de compiler automatisch wordt gegenereerd IDisposable.
- Vermijd niet-referentieleden: ze kunnen ertoe leiden dat de compiler automatisch wordt gegenereerd IDisposable.
- Vermijd finalizers; maar als u er een opneemt, moet u de buildwaarschuwing en -aanroep SuppressFinalize(Object) onderdrukken en de finalizer zelf van (On)(Begin)Close (en/of OnAbort) om te emuleren wat het automatisch gegenereerde IDisposable gedrag zou zijn geweest.
Constructors
| Name | Description |
|---|---|
| ClientBase<TChannel>() |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van het standaarddoeleindpunt uit het toepassingsconfiguratiebestand. |
| ClientBase<TChannel>(Binding, EndpointAddress) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van de opgegeven binding en het opgegeven doeladres. |
| ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse. |
| ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van de opgegeven InstanceContext en ServiceEndpoint objecten. |
| ClientBase<TChannel>(InstanceContext, String, EndpointAddress) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse. |
| ClientBase<TChannel>(InstanceContext, String, String) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse. |
| ClientBase<TChannel>(InstanceContext, String) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van de opgegeven callbackservice- en eindpuntconfiguratiegegevens. |
| ClientBase<TChannel>(InstanceContext) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van het |
| ClientBase<TChannel>(ServiceEndpoint) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van de opgegeven ServiceEndpoint. |
| ClientBase<TChannel>(String, EndpointAddress) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van het opgegeven doeladres en eindpuntgegevens. |
| ClientBase<TChannel>(String, String) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse. |
| ClientBase<TChannel>(String) |
Initialiseert een nieuw exemplaar van de ClientBase<TChannel> klasse met behulp van de configuratiegegevens die zijn opgegeven in het toepassingsconfiguratiebestand door |
Eigenschappen
| Name | Description |
|---|---|
| CacheSetting |
Hiermee haalt u de cache-instelling op of stelt u deze in. |
| Channel |
Hiermee wordt het binnenste kanaal opgehaald dat wordt gebruikt voor het verzenden van berichten naar verschillende geconfigureerde service-eindpunten. |
| ChannelFactory |
Hiermee wordt het onderliggende ChannelFactory<TChannel> object opgehaald. |
| ClientCredentials |
Hiermee haalt u de clientreferenties op die worden gebruikt om een bewerking aan te roepen. |
| Endpoint |
Hiermee haalt u het doeleindpunt op voor de service waarmee de WCF-client verbinding kan maken. |
| InnerChannel |
Hiermee haalt u de onderliggende IClientChannel implementatie op. |
| State |
Hiermee haalt u de huidige status van het ClientBase<TChannel> object op. |
Methoden
| Name | Description |
|---|---|
| Abort() |
Zorgt ervoor dat het ClientBase<TChannel> object onmiddellijk van de huidige status overgaat naar de gesloten status. |
| Close() |
Zorgt ervoor dat het ClientBase<TChannel> object van de huidige status overgaat naar de gesloten status. |
| CreateChannel() |
Retourneert een nieuw kanaal naar de service. |
| DisplayInitializationUI() |
Geeft het binnenste kanaal de opdracht om een gebruikersinterface weer te geven als er een is vereist om het kanaal te initialiseren voordat het wordt gebruikt. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetDefaultValueForInitialization<T>() |
Repliceert het gedrag van het standaardwoord in C#. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Biedt ondersteuning voor het implementeren van het asynchrone patroon op basis van gebeurtenissen. Zie Overzicht van Asynchroon patroon op basis van gebeurtenissen voor meer informatie over dit patroon. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Open() |
Zorgt ervoor dat het ClientBase<TChannel> object wordt overgezet van de gemaakte status in de geopende status. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICommunicationObject.BeginClose(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om de ClientBase<TChannel>. |
| ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om de ClientBase<TChannel> met een opgegeven time-out te sluiten. |
| ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om het ClientBase<TChannel> object te openen. |
| ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om het ClientBase<TChannel> object binnen een opgegeven tijdsinterval te openen. |
| ICommunicationObject.Close() |
Zorgt ervoor dat een communicatieobject van de huidige status overgaat naar de gesloten status. |
| ICommunicationObject.Close(TimeSpan) |
Zorgt ervoor dat het ClientBase<TChannel> object van de huidige status overgaat naar de gesloten status. |
| ICommunicationObject.Closed |
De gebeurtenis-handler die wordt aangeroepen wanneer het ClientBase<TChannel> object is overgezet van de huidige status naar de gesloten status. |
| ICommunicationObject.Closing |
De gebeurtenis-handler die wordt aangeroepen wanneer het ClientBase<TChannel> object overgaat van de huidige status naar de gesloten status. |
| ICommunicationObject.EndClose(IAsyncResult) |
Hiermee voltooit u een asynchrone bewerking om het ClientBase<TChannel> object te sluiten. |
| ICommunicationObject.EndOpen(IAsyncResult) |
Hiermee wordt een asynchrone bewerking voltooid om het ClientBase<TChannel> object te openen. |
| ICommunicationObject.Faulted |
De gebeurtenishandler die wordt aangeroepen wanneer er een fout optreedt tijdens het uitvoeren van een bewerking op het ClientBase<TChannel> object. |
| ICommunicationObject.Open() |
Zorgt ervoor dat een communicatieobject wordt overgezet van de gemaakte status in de geopende status. |
| ICommunicationObject.Open(TimeSpan) |
Zorgt ervoor dat het ClientBase<TChannel> object binnen een opgegeven tijdsinterval van de gemaakte status overgaat naar de geopende status. |
| ICommunicationObject.Opened |
De gebeurtenis-handler die wordt aangeroepen wanneer het ClientBase<TChannel> object overgaat van de gemaakte status naar de geopende status. |
| ICommunicationObject.Opening |
De gebeurtenis-handler die wordt aangeroepen wanneer het ClientBase<TChannel> object overgaat van de gemaakte status naar de geopende status. |
| IDisposable.Dispose() |
Expliciete implementatie van de Dispose() methode. |