Condividi tramite


ChannelServices Classe

Definizione

Fornisce metodi statici per facilitare la registrazione, la risoluzione e l'individuazione degli URL dei canali remoti. La classe non può essere ereditata.

public ref class ChannelServices sealed
public sealed class ChannelServices
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ChannelServices
type ChannelServices = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type ChannelServices = class
Public NotInheritable Class ChannelServices
Ereditarietà
ChannelServices
Attributi

Commenti

Canali trasportano messaggi tra applicazioni attraverso limiti remoti quali domini applicazione, processi e computer. Questi attraversamenti possono essere in ingresso e in uscita. Un canale può restare in ascolto su un endpoint per i messaggi in ingresso, inviare a un endpoint per i messaggi in uscita o entrambi. Ciò fornisce un punto di estendibilità nel runtime per collegare un'ampia gamma di protocolli, anche se il runtime potrebbe non trovarsi all'altra estremità del canale. Gli oggetti runtime possono essere usati per esporre un'ampia gamma di semantiche ed entità. Il canale fornisce il punto di estendibilità per convertire i messaggi da e verso i protocolli specifici.

I canali devono esporre l'interfaccia IChannel , che fornisce proprietà informative come ChannelName e ChannelPriority. I canali vengono registrati usando il ChannelServices.RegisterChannel metodo . I canali possono anche essere caricati dalla configurazione remota. Per informazioni dettagliate, vedere <Elemento del canale> (modello ).

Sul lato client, i messaggi vengono inviati alla catena di sink del canale client dopo l'attraversamento della catena client Context . Il primo sink del canale è in genere un IClientFormatterSinkoggetto , che serializza il messaggio in un flusso che viene passato alla catena di sink del canale al sink di trasporto client. Il sink di trasporto del client inserisce quindi il flusso nel collegamento.

Sul lato server, il sink di trasporto server legge le richieste fuori rete e passa il flusso di richieste alla catena di sink del canale del server. Il sink del formattatore del server alla fine di questa catena deserializzerà la richiesta in un messaggio. Il messaggio verrà quindi inviato all'infrastruttura remota, che lo invierà alla catena di server Context .

Proprietà

RegisteredChannels

Ottiene un elenco di canali attualmente registrati.

Metodi

AsyncDispatchMessage(IMessage, IMessageSink)

Invia in modo asincrono il messaggio dato alla catena o alle catene sul lato server, in base all'URI incorporato nel messaggio.

CreateServerChannelSinkChain(IServerChannelSinkProvider, IChannelReceiver)

Crea una catena dei sink di canale per il canale specificato.

DispatchMessage(IServerChannelSinkStack, IMessage, IMessage)

Invia le chiamate remote in arrivo.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetChannel(String)

Restituisce un canale registrato con il nome specificato.

GetChannelSinkProperties(Object)

Restituisce un oggetto IDictionary che contiene le proprietà di un proxy specifico.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUrlsForObject(MarshalByRefObject)

Restituisce una matrice di tutti gli URL che possono essere utilizzati per raggiungere l'oggetto specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RegisterChannel(IChannel)
Obsoleti.

Registra un canale con i servizi dei canali. RegisterChannel(IChannel) è obsoleto. Usare invece RegisterChannel(IChannel, Boolean).

RegisterChannel(IChannel, Boolean)

Registra un canale con i servizi dei canali.

SyncDispatchMessage(IMessage)

Invia in modo sincrono il messaggio in arrivo alla catena o alle catene sul lato server, in base all'URI incorporato nel messaggio.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnregisterChannel(IChannel)

Annulla la registrazione di un determinato canale dall'elenco dei canali registrati.

Si applica a

Vedi anche