WebChannelFactory<TChannel> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe per accedere ai servizi Web WCF (Windows Communication Foundation) in un client.
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)
Parametri di tipo
- TChannel
Tipo di canale da creare.
- Ereditarietà
Esempio
Il codice seguente illustra come usare la WebChannelFactory<TChannel> classe per chiamare un servizio 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
Per un esempio di codice completo, vedere Esempio di modello di programmazione REST WCF di base.
Commenti
Questa classe è una proprietà ChannelFactory speciale che aggiunge automaticamente WebHttpBehavior all'endpoint se non è già presente. Inoltre, aggiunge un’impostazione predefinita WebHttpBinding all'endpoint se l'associazione non è configurata in modo esplicito e se l'indirizzo è HTTP o HTTPS.
Se tutte le operazioni del contratto non hanno valore restituito o hanno un valore restituito di tipo Stream, WebChannelFactory<TChannel> configura l'associazione per il tipo di contenuto appropriato.
Costruttori
Proprietà
Credentials |
Ottiene le credenziali utilizzate dai client per comunicare con un endpoint del servizio sui canali prodotti dalla factory. (Ereditato da ChannelFactory) |
DefaultCloseTimeout |
Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di chiusura. (Ereditato da ChannelFactory) |
DefaultOpenTimeout |
Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di apertura. (Ereditato da ChannelFactory) |
Endpoint |
Ottiene l'endpoint del servizio al quale si connettono i canali prodotti dalla factory. (Ereditato da ChannelFactory) |
IsDisposed |
Ottiene un valore che indica se l'oggetto di comunicazione è stato eliminato. (Ereditato da CommunicationObject) |
State |
Ottiene un valore che indica lo stato corrente dell'oggetto di comunicazione. (Ereditato da CommunicationObject) |
ThisLock |
Ottiene il blocco a esclusione reciproca che protegge l'istanza della classe durante una transizione di stato. (Ereditato da CommunicationObject) |
Metodi
Abort() |
Determina la transizione immediata di un oggetto di comunicazione dallo stato corrente allo stato di chiusura. (Ereditato da CommunicationObject) |
ApplyConfiguration(String) |
Inizializza la channel factory con i comportamenti forniti da un file di configurazione specificato e con quelli specificati nell'endpoint del servizio della channel factory. (Ereditato da ChannelFactory) |
BeginClose(AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
Close() |
Comporta la transizione di un oggetto di comunicazione dallo stato corrente allo stato di chiusura. (Ereditato da CommunicationObject) |
Close(TimeSpan) |
Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Closed entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
CreateChannel() |
Consente di creare un canale di un determinato tipo relativo all'indirizzo endpoint specificato. (Ereditato da ChannelFactory<TChannel>) |
CreateChannel(EndpointAddress) |
Consente di creare un canale utilizzato per inviare messaggi a un servizio presso un indirizzo endpoint specifico. (Ereditato da ChannelFactory<TChannel>) |
CreateChannel(EndpointAddress, Uri) |
Consente di creare un canale utilizzato per inviare messaggi a un servizio presso un determinato indirizzo endpoint tramite l'indirizzo di trasporto specificato. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken) |
Consente di creare un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza ActAs. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken, EndpointAddress) |
Crea un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza a un determinato indirizzo endpoint. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithActAsToken(SecurityToken, EndpointAddress, Uri) |
Crea un canale utilizzato per inviare messaggi a un servizio che funge da token di sicurezza presso un determinato indirizzo endpoint tramite l'indirizzo di trasporto specificato. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken) |
Consente di creare un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza rilasciato. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress) |
Crea un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza emesso a un determinato indirizzo endpoint. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithIssuedToken(SecurityToken, EndpointAddress, Uri) |
Crea un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza emesso presso un determinato indirizzo endpoint tramite l'indirizzo di trasporto specificato. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken) |
Consente di creare un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza OnBehalfOf. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress) |
Crea un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza OnBehalfOf a un determinato indirizzo endpoint. (Ereditato da ChannelFactory<TChannel>) |
CreateChannelWithOnBehalfOfToken(SecurityToken, EndpointAddress, Uri) |
Crea un canale utilizzato per inviare messaggi a un servizio con un token di sicurezza presso un determinato indirizzo endpoint tramite l'indirizzo di trasporto specificato. (Ereditato da ChannelFactory<TChannel>) |
CreateDescription() |
Consente di creare una descrizione dell'endpoint di servizio. (Ereditato da ChannelFactory<TChannel>) |
CreateFactory() |
Compila la channel factory per l'endpoint corrente della factory. (Ereditato da ChannelFactory) |
EndClose(IAsyncResult) |
Consente di completare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
EndOpen(IAsyncResult) |
Consente di completare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
EnsureOpened() |
Apre la channel factory corrente se non è ancora aperta. (Ereditato da ChannelFactory) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Fault() |
Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Faulted. (Ereditato da CommunicationObject) |
GetCommunicationObjectType() |
Ottiene il tipo di oggetto di comunicazione. (Ereditato da CommunicationObject) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetProperty<T>() |
Se presente, restituisce l'oggetto tipizzato richiesto dal livello appropriato nello stack dei canali; se non è presente, restituisce |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InitializeEndpoint(Binding, EndpointAddress) |
Inizializza l'endpoint del servizio della channel factory con un'associazione e un indirizzo specificati. (Ereditato da ChannelFactory) |
InitializeEndpoint(ServiceEndpoint) |
Inizializza l'endpoint del servizio della channel factory con un endpoint sepcificato. (Ereditato da ChannelFactory) |
InitializeEndpoint(String, EndpointAddress) |
Inizializza l'endpoint del servizio della channel factory con un indirizzo e una configurazione specificati. (Ereditato da ChannelFactory) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnAbort() |
Termina la channel factory interna della channel factory corrente. (Ereditato da ChannelFactory) |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Consente di avviare un'operazione di chiusura asincrona sulla channel factory interna della channel factory corrente a cui è associato un oggetto di stato. (Ereditato da ChannelFactory) |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Consente di avviare un'operazione di apertura asincrona sulla channel factory interna della channel factory corrente a cui è associato un oggetto di stato. (Ereditato da ChannelFactory) |
OnClose(TimeSpan) |
Chiama la chiusura sulla channel factory interna con un timeout specificato per il completamento dell'operazione. (Ereditato da ChannelFactory) |
OnClosed() |
Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura. (Ereditato da CommunicationObject) |
OnClosing() |
Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura. (Ereditato da CommunicationObject) |
OnEndClose(IAsyncResult) |
Completa un'operazione di chiusura asincrona sulla channel factory interna della channel factory corrente. (Ereditato da ChannelFactory) |
OnEndOpen(IAsyncResult) |
Completa un'operazione di apertura asincrona sulla channel factory interna della channel factory corrente. (Ereditato da ChannelFactory) |
OnFaulted() |
Inserisce l'elaborazione in un oggetto di comunicazione dopo che ha eseguito la transizione allo stato Faulted in seguito alla chiamata di un'operazione di errore sincrona. (Ereditato da CommunicationObject) |
OnOpen(TimeSpan) |
Chiama l'apertura sulla channel factory interna della channel factory corrente con un timeout specificato per il completamento dell'operazione. (Ereditato da ChannelFactory) |
OnOpened() |
Inizializza una copia di sola lettura dell'oggetto ClientCredentials per la channel factory. (Ereditato da ChannelFactory) |
OnOpening() |
Questo metodo viene chiamato quando viene aperto WebChannelFactory<TChannel>. |
Open() |
Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura. (Ereditato da CommunicationObject) |
Open(TimeSpan) |
Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura entro un determinato intervallo di tempo. (Ereditato da CommunicationObject) |
ThrowIfDisposed() |
Se l'oggetto di comunicazione è stato eliminato, genera un'eccezione. (Ereditato da CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Se la proprietà State dell'oggetto di comunicazione non è impostata su Created, genera un'eccezione. (Ereditato da CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Se l'oggetto di comunicazione non si trova nello stato Opened, genera un'eccezione. (Ereditato da CommunicationObject) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
Closed |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closed. (Ereditato da CommunicationObject) |
Closing |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closing. (Ereditato da CommunicationObject) |
Faulted |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Faulted. (Ereditato da CommunicationObject) |
Opened |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opened. (Ereditato da CommunicationObject) |
Opening |
Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opening. (Ereditato da CommunicationObject) |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Chiude la channel factory corrente. (Ereditato da ChannelFactory) |