WebChannelFactory<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.
Klasa do uzyskiwania dostępu do usług sieci Web Windows Communication Foundation (WCF) na kliencie.
generic <typename TChannel>
where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
inherit ChannelFactory<'Channel (requires 'Channel : null)>
Public Class WebChannelFactory(Of TChannel)
Inherits ChannelFactory(Of TChannel)
Parametry typu
- TChannel
Typ kanału do utworzenia.
- Dziedziczenie
Przykłady
Poniższy kod pokazuje, jak używać WebChannelFactory<TChannel> klasy do wywoływania usługi WCF.
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
Pełny przykład kodu można znaleźć w temacie Basic WCF REST Programming Model Sample (Przykład podstawowego modelu programowania REST WCF).
Uwagi
Ta klasa jest specjalną, ChannelFactory która automatycznie dodaje element WebHttpBehavior do punktu końcowego, jeśli nie jest jeszcze obecny. Ponadto dodaje wartość domyślną WebHttpBinding do punktu końcowego, jeśli powiązanie nie jest jawnie skonfigurowane, a adres jest adresem HTTP lub HTTPS.
Jeśli wszystkie operacje kontraktu nie mają zwracanej wartości lub mają zwracaną wartość typu Stream, WebChannelFactory<TChannel> konfiguruje powiązanie dla odpowiedniego typu zawartości.
Konstruktory
| Nazwa | Opis |
|---|---|
| WebChannelFactory<TChannel>() |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel>. |
| WebChannelFactory<TChannel>(Binding, Uri) |
Inicjuje nowe wystąpienie WebChannelFactory<TChannel> klasy przy użyciu określonego powiązania i Uri. |
| WebChannelFactory<TChannel>(Binding) |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel>. |
| WebChannelFactory<TChannel>(ServiceEndpoint) |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel>. |
| WebChannelFactory<TChannel>(String, Uri) |
Inicjuje nowe wystąpienie WebChannelFactory<TChannel> klasy z określoną konfiguracją punktu końcowego i Uri. |
| WebChannelFactory<TChannel>(String) |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel>. |
| WebChannelFactory<TChannel>(Type) |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel>. |
| WebChannelFactory<TChannel>(Uri) |
Inicjuje nowe wystąpienie klasy WebChannelFactory<TChannel> z określonym Uri. |
Właściwości
| Nazwa | Opis |
|---|---|
| Credentials |
Pobiera poświadczenia używane przez klientów do komunikowania punktu końcowego usługi za pośrednictwem kanałów generowanych przez fabrykę. (Odziedziczone po ChannelFactory) |
| DefaultCloseTimeout |
Pobiera domyślny interwał czasu podany na zakończenie operacji zamknięcia. (Odziedziczone po ChannelFactory) |
| DefaultOpenTimeout |
Pobiera domyślny interwał czasu podany dla operacji otwierania do ukończenia. (Odziedziczone po ChannelFactory) |
| Endpoint |
Pobiera punkt końcowy usługi, z którym łączą się kanały utworzone przez fabrykę. (Odziedziczone po ChannelFactory) |
| IsDisposed |
Pobiera wartość wskazującą, czy obiekt komunikacji został usunięty. (Odziedziczone po CommunicationObject) |
| State |
Pobiera wartość wskazującą bieżący stan obiektu komunikacji. (Odziedziczone po CommunicationObject) |
| ThisLock |
Pobiera wzajemnie wykluczającą się blokadę, która chroni wystąpienie klasy podczas przejścia stanu. (Odziedziczone po CommunicationObject) |
Metody
| Nazwa | Opis |
|---|---|
| Abort() |
Powoduje natychmiastowe przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
| ApplyConfiguration(String) |
Inicjuje fabrykę kanałów przy użyciu zachowań dostarczonych przez określony plik konfiguracji i z tymi w punkcie końcowym usługi fabryki kanałów. (Odziedziczone po ChannelFactory) |
| BeginClose(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną w celu zamknięcia obiektu komunikacji. (Odziedziczone po CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji z określonym limitem czasu. (Odziedziczone po CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną w celu otwarcia obiektu komunikacji. (Odziedziczone po CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
| Close() |
Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego. (Odziedziczone po CommunicationObject) |
| Close(TimeSpan) |
Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
| CreateChannel() |
Tworzy kanał określonego typu do określonego adresu punktu końcowego. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannel(EndpointAddress, Uri) |
Tworzy kanał używany do wysyłania komunikatów do usługi pod określonym adresem punktu końcowego za pośrednictwem określonego adresu transportu. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannel(EndpointAddress) |
Tworzy kanał używany do wysyłania komunikatów do usługi pod określonym adresem punktu końcowego. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri) |
Tworzy kanał służący do wysyłania komunikatów do usługi z tokenem zabezpieczającym pod określonym adresem punktu końcowego za pośrednictwem określonego adresu transportu. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken, EndpointAddress) |
Tworzy kanał używany do wysyłania komunikatów do usługi z tokenem zabezpieczającym pod określonym adresem punktu końcowego. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithActAsToken(SecurityToken) |
Tworzy kanał używany do wysyłania komunikatów do usługi z tokenem zabezpieczającym. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri) |
Tworzy kanał używany do wysyłania komunikatów do usługi z wystawionym tokenem zabezpieczającym pod określonym adresem punktu końcowego za pośrednictwem określonego adresu transportu. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken, EndpointAddress) |
Tworzy kanał używany do wysyłania komunikatów do usługi z wystawionym tokenem zabezpieczającym pod określonym adresem punktu końcowego. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithIssuedToken(SecurityToken) |
Tworzy kanał używany do wysyłania komunikatów do usługi z wystawionym tokenem zabezpieczającym. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri) |
Tworzy kanał służący do wysyłania komunikatów do usługi z tokenem zabezpieczającym w imieniu określonego adresu punktu końcowego za pośrednictwem określonego adresu transportu. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress) |
Tworzy kanał używany do wysyłania komunikatów do usługi z tokenem zabezpieczającym w imieniu tokenu zabezpieczającego pod określonym adresem punktu końcowego. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateChannelWithOnBehalfOfToken(SecurityToken) |
Tworzy kanał używany do wysyłania komunikatów do usługi z tokenem zabezpieczającym w imieniu użytkownika. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateDescription() |
Tworzy opis punktu końcowego usługi. (Odziedziczone po ChannelFactory<TChannel>) |
| CreateFactory() |
Tworzy fabrykę kanałów dla bieżącego punktu końcowego fabryki. (Odziedziczone po ChannelFactory) |
| EndClose(IAsyncResult) |
Wykonuje operację asynchroniczną w celu zamknięcia obiektu komunikacyjnego. (Odziedziczone po CommunicationObject) |
| EndOpen(IAsyncResult) |
Wykonuje operację asynchroniczną, aby otworzyć obiekt komunikacji. (Odziedziczone po CommunicationObject) |
| EnsureOpened() |
Otwiera bieżącą fabrykę kanałów, jeśli nie została jeszcze otwarta. (Odziedziczone po ChannelFactory) |
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| Fault() |
Powoduje przejście obiektu komunikacyjnego z bieżącego stanu na stan błędu. (Odziedziczone po CommunicationObject) |
| GetCommunicationObjectType() |
Pobiera typ obiektu komunikacji. (Odziedziczone po CommunicationObject) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetProperty<T>() |
Zwraca żądany obiekt typu , jeśli istnieje, z odpowiedniej warstwy w stosie kanału lub |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| InitializeEndpoint(Binding, EndpointAddress) |
Inicjuje punkt końcowy usługi fabryki kanałów z określonym powiązaniem i adresem. (Odziedziczone po ChannelFactory) |
| InitializeEndpoint(ServiceEndpoint) |
Inicjuje punkt końcowy usługi fabryki kanałów z określonym punktem końcowym. (Odziedziczone po ChannelFactory) |
| InitializeEndpoint(String, EndpointAddress) |
Inicjuje punkt końcowy usługi fabryki kanałów z określonym adresem i konfiguracją. (Odziedziczone po ChannelFactory) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| OnAbort() |
Przerywa wewnętrzną fabrykę kanałów bieżącej fabryki kanałów. (Odziedziczone po ChannelFactory) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Rozpoczyna asynchroniczną operację zamykania w wewnętrznej fabryce kanałów bieżącej fabryki kanałów, która ma skojarzony z nim obiekt stanu. (Odziedziczone po ChannelFactory) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Rozpoczyna asynchroniczną operację otwierania w wewnętrznej fabryce kanałów bieżącej fabryki kanałów, która ma skojarzony z nim obiekt stanu. (Odziedziczone po ChannelFactory) |
| OnClose(TimeSpan) |
Wywołuje zamknięcie fabryki kanałów wewnętrznych z określonym limitem czasu na zakończenie operacji. (Odziedziczone po ChannelFactory) |
| OnClosed() |
Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
| OnClosing() |
Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
| OnEndClose(IAsyncResult) |
Kończy asynchroniczną operację zamykania w wewnętrznej fabryce kanałów bieżącej fabryki kanałów. (Odziedziczone po ChannelFactory) |
| OnEndOpen(IAsyncResult) |
Wykonuje asynchroniczną operację otwierania w wewnętrznej fabryce kanałów bieżącej fabryki kanałów. (Odziedziczone po ChannelFactory) |
| OnFaulted() |
Wstawia przetwarzanie na obiekcie komunikacji po przejściu do stanu błędu z powodu wywołania operacji błędu synchronicznego. (Odziedziczone po CommunicationObject) |
| OnOpen(TimeSpan) |
Wywołuje otwarte w wewnętrznej fabryce kanałów bieżącej fabryki kanałów z określonym limitem czasu na zakończenie operacji. (Odziedziczone po ChannelFactory) |
| OnOpened() |
Inicjuje kopię ClientCredentials obiektu tylko do odczytu dla fabryki kanałów. (Odziedziczone po ChannelFactory) |
| OnOpening() |
Ta metoda jest wywoływana po otwarciu WebChannelFactory<TChannel> . |
| Open() |
Powoduje przejście obiektu komunikacyjnego ze stanu utworzonego na otwarty stan. (Odziedziczone po CommunicationObject) |
| Open(TimeSpan) |
Powoduje przejście obiektu komunikacyjnego z utworzonego stanu do otwartego stanu w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
| ThrowIfDisposed() |
Zgłasza wyjątek, jeśli obiekt komunikacji jest usuwany. (Odziedziczone po CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Zgłasza wyjątek, jeśli obiekt komunikacji, który State nie jest ustawiony na Created stan . (Odziedziczone po CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Zgłasza wyjątek, jeśli obiekt komunikacji nie znajduje się w Opened stanie. (Odziedziczone po CommunicationObject) |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Zdarzenia
| Nazwa | Opis |
|---|---|
| Closed |
Występuje, gdy obiekt komunikacji przechodzi do stanu zamkniętego. (Odziedziczone po CommunicationObject) |
| Closing |
Występuje, gdy obiekt komunikacji przechodzi do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
| Faulted |
Występuje, gdy obiekt komunikacji przechodzi do stanu błędu. (Odziedziczone po CommunicationObject) |
| Opened |
Występuje, gdy obiekt komunikacji przechodzi do otwartego stanu. (Odziedziczone po CommunicationObject) |
| Opening |
Występuje, gdy obiekt komunikacji przechodzi do stanu otwierania. (Odziedziczone po CommunicationObject) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| IDisposable.Dispose() |
Zamyka bieżącą fabrykę kanałów. (Odziedziczone po ChannelFactory) |