ChannelDispatcher Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ą. |