ChannelDispatcher Klasa

Definicja

Składnik, który akceptuje kanały i kojarzy je z usługą.

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
Dziedziczenie

Przykłady

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()

Uwagi

Obiekt ChannelDispatcher kojarzy identyfikator IChannelListener URI (nazywany identyfikatorem URI nasłuchiwania) z wystąpieniem usługi. Każdy ServiceHost obiekt może mieć wiele ChannelDispatcher obiektów, z których każdy jest skojarzony z innym odbiornikiem i identyfikatorem URI nasłuchiwania dla tej usługi.

Po nadejściu komunikatu wysyła zapytanie do każdego z skojarzonych EndpointDispatcher obiektów, ChannelDispatcher czy punkt końcowy może zaakceptować komunikat, i przekazuje komunikat do tego, który może. Obiekt EndpointDispatcher jest odpowiedzialny za przetwarzanie komunikatów z ChannelDispatcher adresu docelowego komunikatu zgodnego AddressFilter z właściwością, a akcja komunikatu jest zgodna z właściwością ContractFilter .

Wszystkie właściwości kontrolujące okres istnienia i zachowanie sesji kanału są dostępne do inspekcji lub modyfikacji ChannelDispatcher obiektu. Oprócz obiektów EndpointDispatcher, obejmują one obiekty niestandardowe IChannelInitializer , IChannelListener, ServiceHostskojarzone i InstanceContext.

Konstruktory

ChannelDispatcher(IChannelListener)

Inicjuje nowe wystąpienie klasy ChannelDispatcher.

ChannelDispatcher(IChannelListener, String)

Inicjuje nowe wystąpienie klasy ChannelDispatcher.

ChannelDispatcher(IChannelListener, String, IDefaultCommunicationTimeouts)

Inicjuje nowe wystąpienie klasy ChannelDispatcher.

Właściwości

AsynchronousTransactedAcceptEnabled

Pobiera wartość wskazującą, czy transakcyjne wywołania metody akceptowania na odbiorniku są asynchroniczne.

BindingName

Pobiera nazwę powiązania użytego do skonfigurowania usługi.

ChannelInitializers

Pobiera zestaw IChannelInitializer obiektów, których można użyć do sprawdzania i dodawania stanu do kanałów po ich utworzeniu.

DefaultCloseTimeout

Pobiera domyślny interwał czasu dozwolony dla dyspozytora kanału do zamknięcia.

DefaultOpenTimeout

Pobiera domyślny interwał czasu dozwolony dla dyspozytora kanału do otwarcia.

Endpoints

Pobiera dyspozytorów punktów końcowych, które przekazują komunikaty do punktów końcowych kanału.

ErrorHandlers

Pobiera zestaw obiektów, których można użyć do wstawiania niestandardowych IErrorHandler funkcji obsługi błędów dla punktu końcowego.

Host

Pobiera hosta dla usługi skojarzonej z dyspozytorem.

Host

Po zastąpieniu w klasie pochodnej program pobiera hosta usługi skojarzonego z dyspozytorem kanału.

(Odziedziczone po ChannelDispatcherBase)
IncludeExceptionDetailInFaults

Pobiera lub ustawia wartość wskazującą, czy należy uwzględnić szczegóły dotyczące wyjątku w błędzie.

IsDisposed

Pobiera wartość wskazującą, czy obiekt komunikacji został usunięty.

(Odziedziczone po CommunicationObject)
IsTransactedAccept

Pobiera wartość wskazującą, czy akceptowanie wywołań metody na odbiorniku odbywa się w ramach transakcji.

IsTransactedReceive

Pobiera wartość wskazującą, czy wywołania metody odbierania na odbiorniku są wykonywane w ramach transakcji.

Listener

Pobiera odbiornik skojarzony z dyspozytorem kanału.

ManualAddressing

Pobiera lub ustawia wartość wskazującą, czy dyspozytor kanału dodaje nagłówki adresowania do wiadomości żądań-odpowiedzi.

MaxPendingReceives

Pobiera lub ustawia maksymalną liczbę oczekujących komunikatów na kanał.

MaxTransactedBatchSize

Pobiera lub ustawia maksymalny rozmiar partii transakcyjnej.

MessageVersion

Pobiera lub ustawia komunikat PROTOKOŁU SOAP i WS-Addressing wersje, które są używane lub oczekiwane.

ReceiveContextEnabled

Pobiera lub ustawia, czy funkcja ReceiveContext jest włączona.

ReceiveSynchronously

Pobiera lub ustawia wartość określającą, czy dyspozytor używa synchronicznych wywołań do odczytywania komunikatów z kanałów.

SendAsynchronously

Pobiera lub ustawia, czy komunikaty są wysyłane asynchronicznie.

ServiceThrottle

Pobiera lub ustawia ograniczenie usługi dla usługi skojarzonej z dyspozytorem kanału.

State

Pobiera wartość wskazującą bieżący stan obiektu komunikacji.

(Odziedziczone po CommunicationObject)
ThisLock

Pobiera wzajemnie wykluczający się blokada, która chroni wystąpienie klasy podczas przejścia stanu.

(Odziedziczone po CommunicationObject)
TransactionIsolationLevel

Pobiera lub ustawia domyślny poziom izolacji dla transakcji.

TransactionTimeout

Pobiera lub ustawia wartość określającą domyślny limit czasu dla nowych transakcji utworzonych przez dyspozytora w imieniu usługi.

Metody

Abort()

Powoduje natychmiastowe przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
Attach(ServiceHostBase)

Dołącza dyspozytor kanału do hosta.

Attach(ServiceHostBase)

Po przesłonięcia w klasie pochodnej dołącza dyspozytor kanału do określonego hosta.

(Odziedziczone po ChannelDispatcherBase)
BeginClose(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć obiekt 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ą, aby otworzyć obiekt 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)
CloseInput()

Uniemożliwia odbiornikowi akceptowanie nowych kanałów.

Detach(ServiceHostBase)

Odłącza hosta usługi od dyspozytora kanału.

Detach(ServiceHostBase)

Po zastąpieniu w klasie pochodnej odłącza dyspozytora kanału od określonego hosta.

(Odziedziczone po ChannelDispatcherBase)
EndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
EndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć obiekt komunikacji.

(Odziedziczone po CommunicationObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Fault()

Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu 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)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnAbort()

Przerywa odbiornik skojarzony z dyspozytorem.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć odbiornik kanału dla dyspozytora, który musi zostać ukończony w określonym przedziale czasu.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć odbiornik kanału dla dyspozytora, który musi zostać ukończony w określonym przedziale czasu.

OnClose(TimeSpan)

Zamyka odbiornik kanału skojarzony z dyspozytorem w określonym przedziale czasu.

OnCloseAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

OnCloseAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

(Odziedziczone po CommunicationObject)
OnClosed()

Zawiera ślad zamknięcia dyspozytorów punktów końcowych skojarzonych z dyspozytorem kanału.

OnClosing()

Wywoływane podczas przechodzenia obiektu komunikacyjnego do stanu zamknięcia.

(Odziedziczone po CommunicationObject)
OnEndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć odbiornik kanału dla dyspozytora.

OnEndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć odbiornik kanału dla dyspozytora.

OnFaulted()

Wstawia przetwarzanie na obiekcie komunikacji po przejściu do stanu błędu z powodu wywołania synchronicznej operacji błędu.

(Odziedziczone po CommunicationObject)
OnOpen(TimeSpan)

Otwiera odbiornik skojarzony z dyspozytorem kanału.

OnOpenAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

OnOpenAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

(Odziedziczone po CommunicationObject)
OnOpened()

Wypełnia i weryfikuje tabelę filtrów używaną do wysyłania do punktów końcowych.

OnOpening()

Sprawdza, czy dyspozytor kanału jest dołączony do hosta.

Open()

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego.

(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 właściwość nie jest ustawiona 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

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 otwarcia.

(Odziedziczone po CommunicationObject)

Jawne implementacje interfejsu

IAsyncCommunicationObject.CloseAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

(Odziedziczone po CommunicationObject)
IAsyncCommunicationObject.OpenAsync(TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

(Odziedziczone po CommunicationObject)

Metody rozszerzania

CloseHelperAsync(ICommunicationObject, TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

OpenHelperAsync(ICommunicationObject, TimeSpan)

Składnik, który akceptuje kanały i kojarzy je z usługą.

GetInternalCloseTimeout(CommunicationObject)

Składnik, który akceptuje kanały i kojarzy je z usługą.

Dotyczy