ChannelDispatcher ChannelDispatcher ChannelDispatcher ChannelDispatcher Class

Définition

Composant qui accepte les canaux et les associe à un service.A component that accepts channels and associates them with a service.

public ref class ChannelDispatcher : System::ServiceModel::Dispatcher::ChannelDispatcherBase
public class ChannelDispatcher : System.ServiceModel.Dispatcher.ChannelDispatcherBase
type ChannelDispatcher = class
    inherit ChannelDispatcherBase
Public Class ChannelDispatcher
Inherits ChannelDispatcherBase
Héritage

Exemples

Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

// Enable MEX.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(smb);

serviceHost.Open();        

IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);
Console.WriteLine("servicehost has {0} ChannelDispatchers", serviceHost.ChannelDispatchers.Count);
ChannelDispatcherCollection dispatchers = serviceHost.ChannelDispatchers;

foreach (ChannelDispatcher disp in dispatchers)
{
    Console.WriteLine("Binding name: " + disp.BindingName);
}

Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();

// Close the ServiceHostBase to shutdown the service.
serviceHost.Close();
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

' Enable MEX.
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
serviceHost.Description.Behaviors.Add(smb)

serviceHost.Open()

Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)
Console.WriteLine("servicehost has {0} ChannelDispatchers", serviceHost.ChannelDispatchers.Count)
Dim dispatchers As ChannelDispatcherCollection = serviceHost.ChannelDispatchers

For Each disp As ChannelDispatcher In dispatchers
	Console.WriteLine("Binding name: " & disp.BindingName)
Next disp

Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()

' Close the ServiceHostBase to shutdown the service.
serviceHost.Close()

Remarques

Un objet ChannelDispatcher associe un IChannelListener d'un URI particulier (appelé un URI d'écoute) à une instance d'un service.A ChannelDispatcher object associates an IChannelListener at a particular URI (called a listen URI) with an instance of a service. Chaque objet ServiceHost peut avoir de nombreux objets ChannelDispatcher, chacun étant associé à un écouteur et un URI d'écoute différents pour ce service.Each ServiceHost object can have many ChannelDispatcher objects, each associated with a different listener and listen URI for that service.

Lorsqu'un message arrive, le ChannelDispatcher interroge chacun des objets EndpointDispatcher associés pour déterminer si le point de terminaison peut accepter le message, et passe le message à celui-ci.When a message arrives, the ChannelDispatcher queries each of the associated EndpointDispatcher objects whether the endpoint can accept the message, and passes the message to the one that can. L'objet EndpointDispatcher est chargé du traitement des messages à partir d'un ChannelDispatcher lorsque l'adresse de destination d'un message correspond à la propriété AddressFilter et que l'action de message correspond à la propriété ContractFilter.The EndpointDispatcher object is responsible for processing messages from a ChannelDispatcher when the destination address of a message matches the AddressFilter property and the message action matches the ContractFilter property.

Toutes les propriétés qui contrôlent la durée de vie et le comportement d'une session de canal sont disponibles pour l'inspection ou la modification sur l'objet ChannelDispatcher.All properties that control the lifetime and behavior of a channel session are available for inspection or modification on the ChannelDispatcher object. En plus du EndpointDispatcher, ceux-ci incluent des objets IChannelInitializer personnalisés, l'IChannelListener, l'ServiceHost, et le InstanceContext associé.In addition to the EndpointDispatcher, these include custom IChannelInitializer objects, the IChannelListener, the ServiceHost, the associated and InstanceContext.

Constructeurs

ChannelDispatcher(IChannelListener) ChannelDispatcher(IChannelListener) ChannelDispatcher(IChannelListener) ChannelDispatcher(IChannelListener)

Initialise une nouvelle instance de la classe ChannelDispatcher.Initializes a new instance of the ChannelDispatcher class.

ChannelDispatcher(IChannelListener, String) ChannelDispatcher(IChannelListener, String) ChannelDispatcher(IChannelListener, String) ChannelDispatcher(IChannelListener, String)

Initialise une nouvelle instance de la classe ChannelDispatcher.Initializes a new instance of the ChannelDispatcher class.

ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts) ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts) ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts) ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts)

Initialise une nouvelle instance de la classe ChannelDispatcher.Initializes a new instance of the ChannelDispatcher class.

Propriétés

AsynchronousTransactedAcceptEnabled AsynchronousTransactedAcceptEnabled AsynchronousTransactedAcceptEnabled AsynchronousTransactedAcceptEnabled

Obtient une valeur qui indique si les appels de la méthode accept traitée sur l'écouteur sont asynchrones.Gets a value that indicates whether the transacted accept method calls on listener are asynchronous.

BindingName BindingName BindingName BindingName

Obtient le nom de la liaison utilisée pour configurer le service.Gets the name of the binding used to configure the service.

ChannelInitializers ChannelInitializers ChannelInitializers ChannelInitializers

Obtient un ensemble d'objets IChannelInitializer que vous pouvez utiliser pour inspecter et ajouter l'état aux canaux lors de leur création.Gets a set of IChannelInitializer objects that you can use to inspect and add state to channels when they are first created.

DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout

Obtient l'intervalle de temps par défaut autorisé pour la fermeture du répartiteur de canal.Gets the default interval of time allowed for the channel dispatcher to close.

DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout

Obtient l'intervalle de temps par défaut autorisé pour l'ouverture du répartiteur de canal.Gets the default interval of time allowed for the channel dispatcher to open.

Endpoints Endpoints Endpoints Endpoints

Obtient les répartiteurs de point de terminaison qui transfèrent les messages aux points de terminaison de canal.Gets the endpoint dispatchers which forward messages to the channel endpoints.

ErrorHandlers ErrorHandlers ErrorHandlers ErrorHandlers

Obtient un ensemble d'objets IErrorHandler qui peuvent être utilisés pour insérer les fonctionnalités de gestion des erreurs personnalisées pour un point de terminaison.Gets a set of IErrorHandler objects that can be used to insert custom error handling functionality for an endpoint.

Host Host Host Host

Obtient l'hôte pour le service associé au répartiteur.Gets the host for the service associated with the dispatcher.

IncludeExceptionDetailInFaults IncludeExceptionDetailInFaults IncludeExceptionDetailInFaults IncludeExceptionDetailInFaults

Obtient ou définit une valeur qui indique s'il faut inclure les détails sur une exception dans une erreur.Gets or sets a value that indicates whether to include the details about an exception in a fault.

IsDisposed IsDisposed IsDisposed IsDisposed

Obtient une valeur qui indique si l'objet de communication a été supprimé.Gets a value that indicates whether the communication object has been disposed.

(Inherited from CommunicationObject)
IsTransactedAccept IsTransactedAccept IsTransactedAccept IsTransactedAccept

Obtient une valeur qui indique si les appels de la méthode accept sur l'écouteur sont effectués sous une transaction.Gets a value that indicates whether the accept method calls on the listener are done under a transaction.

IsTransactedReceive IsTransactedReceive IsTransactedReceive IsTransactedReceive

Obtient une valeur qui indique si les appels de la méthode receive sur l'écouteur sont effectués sous une transaction.Gets a value that indicates whether the receive method calls on the listener are done under a transaction.

Listener Listener Listener Listener

Obtient l'écouteur associé au répartiteur de canal.Gets the listener associated with the channel dispatcher.

ManualAddressing ManualAddressing ManualAddressing ManualAddressing

Obtient ou définit une valeur qui indique si le répartiteur de canal ajoute des en-têtes d'adressage aux messages de demande/réponse.Gets or sets a value that indicates whether the channel dispatcher adds addressing headers to request-reply messages.

MaxPendingReceives MaxPendingReceives MaxPendingReceives MaxPendingReceives

Obtient ou définit les messages en attente maximaux par canal.Gets or sets the maximum pending messages per channel.

MaxTransactedBatchSize MaxTransactedBatchSize MaxTransactedBatchSize MaxTransactedBatchSize

Obtient ou définit la taille maximale pour un lot traité.Gets or sets the maximum size for a transacted batch.

MessageVersion MessageVersion MessageVersion MessageVersion

Obtient ou définit le message SOAP et les versions WS-Addressing qui sont utilisées ou attendues.Gets or sets the SOAP message and WS-Addressing versions that are used or expected.

ReceiveContextEnabled ReceiveContextEnabled ReceiveContextEnabled ReceiveContextEnabled

Obtient ou définit si ReceiveContext est activé.Gets or sets whether ReceiveContext is enabled.

ReceiveSynchronously ReceiveSynchronously ReceiveSynchronously ReceiveSynchronously

Obtient ou définit une valeur qui spécifie si le répartiteur utilise des appels synchrones pour lire les messages de canaux.Gets or sets a value that specifies whether the dispatcher uses synchronous calls to read messages from channels.

SendAsynchronously SendAsynchronously SendAsynchronously SendAsynchronously

Obtient ou définit si les messages sont envoyés de façon asynchrone.Gets or sets whether messages are sent asynchronously.

ServiceThrottle ServiceThrottle ServiceThrottle ServiceThrottle

Obtient ou définit la limitation de service pour le service associé au répartiteur de canal.Gets or sets the service throttle for the service associated with the channel dispatcher.

State State State State

Obtient une valeur qui indique l'état actuel de l'objet de communication.Gets a value that indicates the current state of the communication object.

(Inherited from CommunicationObject)
ThisLock ThisLock ThisLock ThisLock

Obtient le verrou mutuellement exclusif qui protège l'instance de classe pendant une transition d'état.Gets the mutually exclusive lock that protects the class instance during a state transition.

(Inherited from CommunicationObject)
TransactionIsolationLevel TransactionIsolationLevel TransactionIsolationLevel TransactionIsolationLevel

Obtient ou définit le niveau d'isolement par défaut pour les transactions.Gets or sets the default isolation level for transactions.

TransactionTimeout TransactionTimeout TransactionTimeout TransactionTimeout

Obtient ou définit une valeur qui spécifie le délai d'attente par défaut pour les transactions créées par le répartiteur pour le compte du service.Gets or sets a value that specifies the default timeout for new transactions created by the dispatcher on behalf of the service.

Méthodes

Abort() Abort() Abort() Abort()

Provoque la transition immédiate d'un objet de communication de son état actuel à l'état de fermeture.Causes a communication object to transition immediately from its current state into the closing state.

(Inherited from CommunicationObject)
Attach(ServiceHostBase) Attach(ServiceHostBase) Attach(ServiceHostBase) Attach(ServiceHostBase)

Attache le répartiteur de canal à l'hôte.Attaches the channel dispatcher to the host.

BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object)

Commence une opération asynchrone pour fermer un objet de communication.Begins an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer un objet de communication avec un délai d'attente spécifié.Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from CommunicationObject)
BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir un objet de communication.Begins an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir un objet de communication dans un intervalle de temps spécifié.Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from CommunicationObject)
Close() Close() Close() Close()

Provoque la transition d'un objet de communication de son état actuel à l'état fermé.Causes a communication object to transition from its current state into the closed state.

(Inherited from CommunicationObject)
Close(TimeSpan) Close(TimeSpan) Close(TimeSpan) Close(TimeSpan)

Provoque la transition d'un objet de communication de son état actuel à l'état fermé dans un intervalle de temps spécifié.Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Inherited from CommunicationObject)
CloseInput() CloseInput() CloseInput() CloseInput()

Interrompt l'acceptation de nouveaux canaux par l'écouteur.Stops the listener from accepting new channels.

Detach(ServiceHostBase) Detach(ServiceHostBase) Detach(ServiceHostBase) Detach(ServiceHostBase)

Détache l'hôte de service du répartiteur de canal.Detaches the service host from the channel dispatcher.

EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult)

Termine une opération asynchrone pour fermer un objet de communication.Completes an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult)

Termine une opération asynchrone pour ouvrir un objet de communication.Completes an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fault() Fault() Fault() Fault()

Provoque la transition d'un objet de communication de son état actuel à l'état d'erreur.Causes a communication object to transition from its current state into the faulted state.

(Inherited from CommunicationObject)
GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType()

Obtient le type d'objet de communication.Gets the type of communication object.

(Inherited from CommunicationObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
OnAbort() OnAbort() OnAbort() OnAbort()

Abandonne l'écouteur associé au répartiteur.Aborts the listener associated with the dispatcher.

OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer un écouteur de canal pour le répartiteur qui doit être terminée dans un intervalle de temps spécifié.Begins an asynchronous operation to close a channel listener for the dispatcher that must be completed within a specified interval of time.

OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir un écouteur de canal pour le répartiteur qui doit être terminée dans un intervalle de temps spécifié.Begins an asynchronous operation to open a channel listener for the dispatcher that must be completed within a specified interval of time.

OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan)

Ferme l'écouteur de canal associé au répartiteur dans un intervalle de temps spécifié.Closes the channel listener associated with the dispatcher within a specified interval of time.

OnClosed() OnClosed() OnClosed() OnClosed()

Fournit un suivi de la fermeture des répartiteurs de point de terminaison associés au répartiteur de canal.Provides a trace of the closing of the endpoint dispatchers associated with the channel dispatcher.

OnClosing() OnClosing() OnClosing() OnClosing()

Appelé pendant la transition d'un objet de communication à l'état de fermeture.Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult)

Termine une opération asynchrone pour fermer un écouteur de canal pour le répartiteur.Completes an asynchronous operation to close a channel listener for the dispatcher.

OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult)

Termine une opération asynchrone pour ouvrir un écouteur de canal pour le répartiteur.Completes an asynchronous operation to open a channel listener for the dispatcher.

OnFaulted() OnFaulted() OnFaulted() OnFaulted()

Insère le traitement sur un objet de communication après sa transition vers l'état d'erreur en raison de l'appel d'une opération d'erreur synchrone.Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Inherited from CommunicationObject)
OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan)

Ouvre l'écouteur associé au répartiteur de canal.Opens the listener associated with the channel dispatcher.

OnOpened() OnOpened() OnOpened() OnOpened()

Remplit et valide la table de filtres utilisée pour distribuer aux points de terminaison.Populates and validates filter table used to dispatch to the endpoints.

OnOpening() OnOpening() OnOpening() OnOpening()

Vérifie si le répartiteur de canal est attaché à un hôte.Checks whether the channel dispatcher is attached to a host.

Open() Open() Open() Open()

Provoque la transition d'un objet de communication de l'état créé à l'état ouvert.Causes a communication object to transition from the created state into the opened state.

(Inherited from CommunicationObject)
Open(TimeSpan) Open(TimeSpan) Open(TimeSpan) Open(TimeSpan)

Provoque la transition d'un objet de communication de l'état créé à l'état ouvert dans un intervalle de temps spécifié.Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from CommunicationObject)
ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed()

Renvoie une exception si l'objet de communication est supprimé.Throws an exception if the communication object is disposed.

(Inherited from CommunicationObject)
ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable()

Renvoie une exception si la propriété State de l'objet de communication n'a pas pour valeur l'état Created.Throws an exception if the communication object the State property is not set to the Created state.

(Inherited from CommunicationObject)
ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen()

Renvoie une exception si l'objet de communication n'est pas dans l'état Opened.Throws an exception if the communication object is not in the Opened state.

(Inherited from CommunicationObject)
ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Événements

Closed Closed Closed Closed

Se produit lorsqu'un objet de communication passe à l'état fermé.Occurs when a communication object transitions into the closed state.

(Inherited from CommunicationObject)
Closing Closing Closing Closing

Se produit lorsqu'un objet de communication passe à l'état de fermeture.Occurs when a communication object transitions into the closing state.

(Inherited from CommunicationObject)
Faulted Faulted Faulted Faulted

Se produit lorsqu'un objet de communication passe à l'état d'erreur.Occurs when a communication object transitions into the faulted state.

(Inherited from CommunicationObject)
Opened Opened Opened Opened

Se produit lorsqu'un objet de communication passe à l'état ouvert.Occurs when a communication object transitions into the opened state.

(Inherited from CommunicationObject)
Opening Opening Opening Opening

Se produit lorsqu'un objet de communication passe à l'état d'ouverture.Occurs when a communication object transitions into the opening state.

(Inherited from CommunicationObject)

S’applique à