EndpointDispatcher 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.
Rappresenta l'oggetto runtime che espone le proprietà che consentono di inserire estensioni o modifiche della fase di esecuzione per i messaggi delle applicazioni di servizio.
public ref class EndpointDispatcher
public ref class EndpointDispatcher sealed
public class EndpointDispatcher
public sealed class EndpointDispatcher
type EndpointDispatcher = class
Public Class EndpointDispatcher
Public NotInheritable Class EndpointDispatcher
- Ereditarietà
-
EndpointDispatcher
Esempio
L'esempio di codice seguente illustra come utilizzare la classe EndpointDispatcher per individuare System.ServiceModel.Dispatcher.DispatchRuntime dell'endpoint e inserisce un controllo messaggi personalizzato utilizzando un comportamento dell'endpoint.
// IEndpointBehavior Members
public void AddBindingParameters(ServiceEndpoint serviceEndpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
return;
}
public void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior)
{
behavior.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}
public void Validate(ServiceEndpoint serviceEndpoint)
{
return;
}
Commenti
Le classi EndpointDispatcher e System.ServiceModel.Dispatcher.DispatchRuntime che espongono i punti di personalizzazione della fase di esecuzione per gli endpoint di un servizio. La classe EndpointDispatcher può essere utilizzata per controllare quali messaggi possono essere elaborati e alcune informazioni relative all'endpoint. La classe DispatchRuntime è dotata di molte proprietà utilizzate per inserire estensioni personalizzate nella fase di esecuzione dell'endpoint.
L'oggetto EndpointDispatcher è responsabile per l'elaborazione dei messaggi provenienti da una classe System.ServiceModel.Dispatcher.ChannelDispatcher quando l'indirizzo di destinazione di un messaggio corrisponde alla proprietà AddressFilter e l'azione del messaggio corrisponde alla proprietà ContractFilter. Se due oggetti EndpointDispatcher possono accettare un messaggio, il valore della proprietà FilterPriority determina l'endpoint con la priorità più elevata.
Utilizzare l'oggetto EndpointDispatcher per configurare o estendere la ricezione dei messaggi dalla classe ChannelDispatcher associata, la conversione degli oggetti messaggio in oggetti utilizzati come parametri e la procedura di richiamo di un'operazione dell'endpoint e della procedura inversa.
In genere, la classe EndpointDispatcher per un endpoint si ottiene implementando l'interfaccia IEndpointBehavior, ma è possibile accedere a EndpointDispatcher anche dalle altre interfacce di comportamento.
È possibile utilizzare le seguenti proprietà EndpointDispatcher:
La proprietà AddressFilter consente di ottenere o impostare un oggetto MessageFilter che ChannelDispatcher utilizza per identificare se l'endpoint può elaborare un messaggio specifico.
La proprietà ChannelDispatcher ottiene l'oggetto ChannelDispatcher associato, che invia e riceve messaggi a e da EndpointDispatcher e il quale può essere utilizzato per controllare o modificare altri valori e comportamenti relativi al canale.
ContractFilter ottiene l'oggetto MessageFilter utilizzato per identificare se un messaggio è destinato a questo contratto.
Le proprietà ContractName e ContractNamespace restituiscono il nome e lo spazio dei nomi del contratto dell'endpoint.
La proprietà DispatchRuntime restituisce l'oggetto DispatchRuntime da utilizzare per modificare i valori della fase di esecuzione o inserire estensioni della fase di esecuzione personalizzate per l'endpoint.
La proprietà EndpointAddress ottiene l'indirizzo dell'endpoint.
La proprietà FilterPriority restituisce la priorità del filtro composito utilizzato da ChannelDispatcher per stabilire quale endpoint deve gestire il messaggio.
Costruttori
EndpointDispatcher(EndpointAddress, String, String) |
Inizializza una nuova istanza della classe EndpointDispatcher con l'indirizzo, il nome del contratto e lo spazio dei nomi del contratto specificati. |
EndpointDispatcher(EndpointAddress, String, String, Boolean) |
Inizializza una nuova istanza della classe EndpointDispatcher con l'indirizzo specificato, nome del contratto, spazio dei nomi del contratto e se l'endpoint è un endpoint di sistema pubblico. |
Proprietà
AddressFilter |
Ottiene o imposta un oggetto MessageFilter utilizzato per identificare se un messaggio specifico è destinato all'indirizzo dell'endpoint. |
ChannelDispatcher |
Ottiene l'oggetto ChannelDispatcher associato, da usare per controllare o modificare altri valori e comportamenti relativi al canale. |
ContractFilter |
Ottiene o imposta l'oggetto MessageFilter da utilizzare per identificare se un messaggio è destinato al contratto specifico. |
ContractName |
Ottiene il nome del contratto dell'endpoint. |
ContractNamespace |
Ottiene lo spazio dei nomi del contratto dell'endpoint. |
DispatchRuntime |
Ottiene l'oggetto DispatchRuntime utilizzato per controllare, modificare o estendere il comportamento della fase di esecuzione in un endpoint del servizio o in un endpoint di callback client. |
EndpointAddress |
Ottiene l'indirizzo dell'endpoint. |
FilterPriority |
Ottiene o imposta la priorità di ContractFilter e della combinazione AddressFilter quando ChannelDispatcher seleziona gli endpoint. |
IsSystemEndpoint |
Ottiene un valore che indica se l'endpoint è stato creato internamente dal server e non dall'utente. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |