Freigeben über


WebChannelFactory<TChannel> Klasse

Definition

Eine Klasse für den Zugriff auf Windows Communication Foundation-Webdienste (WCF) auf einem Client.

generic <typename TChannel>
 where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
generic <typename TChannel>
public ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel>
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
    inherit ChannelFactory<'Channel (requires 'Channel : null)>
type WebChannelFactory<'Channel> = class
    inherit ChannelFactory<'Channel>
Public Class WebChannelFactory(Of TChannel)
Inherits ChannelFactory(Of TChannel)

Typparameter

TChannel

Der Channeltyp, der erstellt werden soll.

Vererbung

Beispiele

Der folgende Code zeigt, wie Sie mithilfe der WebChannelFactory<TChannel> Klasse einen WCF-Dienst aufrufen.

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(baseAddress);
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ");
    s = channel.EchoWithPost("Hello, world");
    Console.WriteLine("   Output: {0}", s);

    Console.WriteLine("");
}
catch (CommunicationException ex)
{
    Console.WriteLine("An exception occurred: " + ex.Message);
}
Dim baseAddress As New Uri("http://localhost:8000")
Dim host As New WebServiceHost(GetType(Service), baseAddress)
Try
    host.Open()

    Dim cf As New WebChannelFactory(Of IService)(baseAddress)
    Dim channel As IService = cf.CreateChannel()
    Dim s As String

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ")
    s = channel.EchoWithGet("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

    Console.WriteLine("Calling EchoWithPost via HTTP POST: ")
    s = channel.EchoWithPost("Hello, world")
    Console.WriteLine("   Output:  0}", s)

    Console.WriteLine("")

Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

Ein vollständiges Codebeispiel finden Sie unter Basic WCF REST Programming Model Sample.

Hinweise

Bei dieser Klasse handelt es sich um eine spezielle ChannelFactory, die automatisch das WebHttpBehavior zum Endpunkt hinzufügt, falls es noch nicht vorhanden ist. Außerdem fügt diese Klasse die standardmäßige WebHttpBinding zum Endpunkt hinzu, falls die Bindung nicht explizit konfiguriert wurde und es sich bei der Adresse um eine HTTP- oder eine HTTPS-Adresse handelt.

Wenn alle Vorgänge des Vertrags keinen Rückgabewert oder einen Rückgabewert vom Typ Stream aufweisen, wird die Bindung für den entsprechenden Inhaltstyp von WebChannelFactory<TChannel> konfiguriert.

Konstruktoren

WebChannelFactory<TChannel>()

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse.

WebChannelFactory<TChannel>(Binding)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse.

WebChannelFactory<TChannel>(Binding, Uri)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse mit der angegebenen Bindung und dem angegebenen Uri.

WebChannelFactory<TChannel>(ServiceEndpoint)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse.

WebChannelFactory<TChannel>(String)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse.

WebChannelFactory<TChannel>(String, Uri)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse mit der angegebenen Endpunktkonfiguration und dem angegebenen Uri.

WebChannelFactory<TChannel>(Type)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse.

WebChannelFactory<TChannel>(Uri)

Initialisiert eine neue Instanz der WebChannelFactory<TChannel>-Klasse mit der angegebenen Uri.

Eigenschaften

Credentials

Ruft die Anmeldeinformationen ab, die von Clients für die Kommunikation mit einem Dienstendpunkt über die von der Factory erzeugten Kanäle verwendet werden.

(Geerbt von ChannelFactory)
DefaultCloseTimeout

Ruft das Standardzeitintervall ab, das für den Abschluss eines Schließvorgangs bereitgestellt wird.

(Geerbt von ChannelFactory)
DefaultOpenTimeout

Ruft das Zeitintervall ab, das für den Abschluss eines Öffnungsvorgangs bereitgestellt wird.

(Geerbt von ChannelFactory)
Endpoint

Ruft den Dienstendpunkt ab, zu dem die von der Factory erzeugten Kanäle eine Verbindung aufbauen.

(Geerbt von ChannelFactory)
IsDisposed

Ruft einen Wert ab, mit dem angegeben wird, ob das Kommunikationsobjekt verworfen wurde.

(Geerbt von CommunicationObject)
State

Ruft einen Wert ab, der den aktuellen Zustand des Kommunikationsobjekts angibt.

(Geerbt von CommunicationObject)
ThisLock

Ruft die gegenseitig exklusive Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt.

(Geerbt von CommunicationObject)

Methoden

Abort()

Bewirkt, dass ein Kommunikationsobjekt unmittelbar vom aktuellen Zustand in den Schließzustand übergeht.

(Geerbt von CommunicationObject)
ApplyConfiguration(String)

Initialisiert die Kanalfactory mit den Verhaltensweisen, die von einer bestimmten Konfigurationsdatei bereitgestellt werden, sowie mit den Verhaltensweisen im Dienstendpunkt der Kanalfactory.

(Geerbt von ChannelFactory)
BeginClose(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.

(Geerbt von CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt mit einem festgelegten Timeout zu schließen.

(Geerbt von CommunicationObject)
BeginOpen(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.

(Geerbt von CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines festgelegten Zeitraums zu öffnen.

(Geerbt von CommunicationObject)
Close()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht.

(Geerbt von CommunicationObject)
Close(TimeSpan)

Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom aktuellen Zustand in den geschlossenen Zustand.

(Geerbt von CommunicationObject)
CreateChannel()

Erstellt einen Kanal eines angegebenen Typs für eine angegebene Endpunktadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannel(EndpointAddress)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst an einer bestimmten Endpunktadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannel(EndpointAddress, Uri)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst an einer bestimmten Endpunktadresse durch eine angegebene Transportadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken)

Erstellt einen Channel, der verwendet wird, um Nachrichten an einen Dienst mit einer Aktion als Sicherheitstoken zu senden.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit einer Aktion als Sicherheitstoken an einer bestimmten Endpunktadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit einer Aktion als Sicherheitstoken an einer bestimmten Endpunktadresse durch eine angegebene Transportadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken)

Erstellt einen Channel, der verwendet wird, um Nachrichten an einen Dienst mit einem ausgestellten Sicherheitstoken zu senden.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit einem ausgestellte Sicherheitstoken an einer bestimmten Endpunktadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit einem ausgestellte Sicherheitstoken an einer bestimmten Endpunktadresse durch eine angegebene Transportadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken)

Erstellt einen Channel, der verwendet wird, um Nachrichten an einen Dienst mit den Namen des Sicherheitstoken zu senden.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit dem Namen des Sicherheitstokens an einer bestimmten Endpunktadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri)

Erstellt einen Kanal zum Senden von Nachrichten an einen Dienst mit den Namen des Sicherheitstokens an einer bestimmten Endpunktadresse durch eine angegebene Transportadresse.

(Geerbt von ChannelFactory<TChannel>)
CreateDescription()

Erstellt eine Beschreibung des Dienstendpunkts.

(Geerbt von ChannelFactory<TChannel>)
CreateFactory()

Erstellt die Kanalfactory für den aktuellen Endpunkt der Factory.

(Geerbt von ChannelFactory)
EndClose(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.

(Geerbt von CommunicationObject)
EndOpen(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.

(Geerbt von CommunicationObject)
EnsureOpened()

Öffnet die aktuelle Kanalfactory, sofern diese noch nicht geöffnet ist.

(Geerbt von ChannelFactory)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Fault()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den Fehlerzustand übergeht.

(Geerbt von CommunicationObject)
GetCommunicationObjectType()

Ruft den Typ des Kommunikationsobjekts ab.

(Geerbt von CommunicationObject)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetProperty<T>()

Gibt das angeforderte typisierte Objekt von der entsprechenden Ebene im Kanalstapel zurück, wenn es vorhanden ist, oder null, wenn es nicht vorhanden ist.

(Geerbt von ChannelFactory)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeEndpoint(Binding, EndpointAddress)

Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Bindung und Adresse.

(Geerbt von ChannelFactory)
InitializeEndpoint(ServiceEndpoint)

Initialisiert den Dienstendpunkt der Kanalfactory mit einem angegebenen Endpunkt.

(Geerbt von ChannelFactory)
InitializeEndpoint(String, EndpointAddress)

Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Adresse und Konfiguration.

(Geerbt von ChannelFactory)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnAbort()

Beendet die innere Kanalfactory der aktuellen Kanalfactory.

(Geerbt von ChannelFactory)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist.

(Geerbt von ChannelFactory)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist.

(Geerbt von ChannelFactory)
OnClose(TimeSpan)

Aufrufe werden in der inneren Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geschlossen.

(Geerbt von ChannelFactory)
OnClosed()

Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen.

(Geerbt von CommunicationObject)
OnClosing()

Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen.

(Geerbt von CommunicationObject)
OnEndClose(IAsyncResult)

Schließt einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab.

(Geerbt von ChannelFactory)
OnEndOpen(IAsyncResult)

Schließt einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab.

(Geerbt von ChannelFactory)
OnFaulted()

Fügt Verarbeitung auf einem Kommunikationsobjekt ein, nachdem aufgrund des Aufrufs eines synchronen Fehlervorgangs der Übergang zum Fehlerzustand stattgefunden hat.

(Geerbt von CommunicationObject)
OnOpen(TimeSpan)

Aufrufe werden in der inneren Kanalfactory der aktuellen Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geöffnet.

(Geerbt von ChannelFactory)
OnOpened()

Initialisiert eine schreibgeschützte Kopie des ClientCredentials-Objekts für die Kanalfactory.

(Geerbt von ChannelFactory)
OnOpening()

Diese Methode wird beim Öffnen von WebChannelFactory<TChannel> aufgerufen.

Open()

Bewirkt den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand.

(Geerbt von CommunicationObject)
Open(TimeSpan)

Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand.

(Geerbt von CommunicationObject)
ThrowIfDisposed()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt verworfen wird.

(Geerbt von CommunicationObject)
ThrowIfDisposedOrImmutable()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt der State-Eigenschaft nicht auf den Created-Zustand festgelegt wurde.

(Geerbt von CommunicationObject)
ThrowIfDisposedOrNotOpen()

Löst eine Ausnahme aus, wenn sich das Kommunikationsobjekt nicht im Opened-Zustand befindet.

(Geerbt von CommunicationObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Closed

Tritt ein, sobald ein Kommunikationsobjekt in den geschlossenen Zustand übergeht.

(Geerbt von CommunicationObject)
Closing

Tritt ein, sobald ein Kommunikationsobjekt in den Schließzustand übergeht.

(Geerbt von CommunicationObject)
Faulted

Tritt ein, sobald ein Kommunikationsobjekt in den Fehlerzustand übergeht.

(Geerbt von CommunicationObject)
Opened

Tritt ein, sobald ein Kommunikationsobjekt in den Geöffnet-Zustand übergeht.

(Geerbt von CommunicationObject)
Opening

Tritt ein, sobald ein Kommunikationsobjekt in den Öffnungszustand übergeht.

(Geerbt von CommunicationObject)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Schließt die aktuelle Kanalfactory.

(Geerbt von ChannelFactory)

Gilt für