Udostępnij za pośrednictwem


DispatchRuntime Klasa

Definicja

Uwidacznia właściwości, których można użyć do modyfikowania domyślnego zachowania usługi, a także dołączania obiektów niestandardowych, które mogą modyfikować sposób przekształcania przychodzących komunikatów w obiekty i wysyłane do operacji. Klasa ta nie może być dziedziczona.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
Dziedziczenie
DispatchRuntime

Uwagi

DispatchRuntime Użyj klasy , aby zmodyfikować domyślne zachowanie usługi lub pojedynczego punktu końcowego albo wstawić obiekty implementujące niestandardowe modyfikacje do jednego lub obu następujących procesów usługi:

  1. Przekształcanie komunikatów przychodzących w obiekty i zwalnianie tych obiektów jako wywołań metody w obiekcie usługi.

  2. Przekształcanie obiektów odebranych z odpowiedzi na wywołanie operacji usługi do komunikatów wychodzących.

W programie Windows Communication Foundation (WCF) dyspozytorów kanałów i punktów końcowych są składnikami usługi odpowiedzialnymi za akceptowanie nowych kanałów, odbieranie komunikatów, wysyłanie metod i wywoływanie oraz przetwarzanie odpowiedzi. Każdy punkt końcowy uwidoczniony przez ServiceHost obiekt ma jeden dyspozytor punktu końcowego i skojarzony dyspozytor kanału. Ponadto każdy klient, który uczestniczy w komunikacji dwustronnej, ma również dyspozytor punktu końcowego i dyspozytor kanału dla każdego punktu końcowego wywołania zwrotnego.

Umożliwia DispatchRuntime przechwycenie i rozszerzenie dyspozytora kanału lub punktu końcowego dla wszystkich komunikatów w określonym kontrakcie, nawet jeśli komunikat nie jest rozpoznawany. Gdy pojawi się komunikat, który nie pasuje do żadnych komunikatów zadeklarowanych w kontrakcie, jest wysyłany do operacji zwróconej przez UnhandledDispatchOperation właściwość. Aby przechwycić lub rozszerzyć wszystkie komunikaty dla określonej operacji, zobacz klasę DispatchOperation .

Istnieją cztery główne obszary rozszerzalności dyspozytora uwidocznione przez klasę DispatchRuntime :

  1. Składniki wysyłania używają właściwości DispatchRuntime i skojarzonych dyspozytorów kanałów zwróconych przez ChannelDispatcher właściwość, aby dostosować sposób akceptowania i zamykania kanałów dyspozytora kanałów. Ta kategoria zawiera ChannelInitializers właściwości i InputSessionShutdownHandlers .

  2. Składniki komunikatów są dostosowywane dla każdego przetworzonego komunikatu. Ta kategoria obejmuje MessageInspectorswłaściwości , OperationSelector, Operationsi ErrorHandlers .

  3. Składniki wystąpienia dostosują tworzenie, okres istnienia i usuwanie wystąpień typu usługi. Aby uzyskać więcej informacji na temat okresów istnienia obiektów usługi, zobacz InstanceContextMode właściwość . Ta kategoria zawiera InstanceContextInitializers właściwości i InstanceProvider .

  4. Składniki związane z zabezpieczeniami mogą używać następujących właściwości:

Zazwyczaj niestandardowe obiekty rozszerzenia są przypisywane do właściwości lub wstawiane do DispatchRuntime kolekcji przez zachowanie usługi (obiekt implementujący IServiceBehavior), zachowanie kontraktu (obiekt IContractBehaviorimplementujący ) lub zachowanie punktu końcowego (obiekt implementujący IEndpointBehavior). Następnie obiekt zachowania instalacji jest dodawany do odpowiedniej kolekcji zachowań programowo lub przez zaimplementowanie obiektu niestandardowego BehaviorExtensionElement w celu umożliwienia wstawienia zachowania przy użyciu pliku konfiguracji aplikacji.

Właściwości

AutomaticInputSessionShutdown

Pobiera lub ustawia wartość określającą, czy usługa zamyka sesję wejściową po zamknięciu sesji wyjściowej przez klienta.

CallbackClientRuntime

ClientRuntime Pobiera obiekt reprezentujący punkt instalacji rozszerzeń w celu Windows Communication Foundation (WCF) dla wywołań wychodzących do punktu końcowego wywołania zwrotnego dwukierunkowego.

ChannelDispatcher

Pobiera element ChannelDispatcher dla tego obiektu czasu wykonywania wysyłania.

ConcurrencyMode

Pobiera lub ustawia, czy wystąpienie usługi przetwarza komunikaty sekwencyjnie lub współbieżnie.

EndpointDispatcher

Pobiera element EndpointDispatcher dla tego środowiska uruchomieniowego wysyłania.

EnsureOrderedDispatch

Pobiera wartość wskazującą, czy komunikaty mają być wysyłane w kolejności ich wysłania.

ExternalAuthorizationPolicies

Pobiera lub ustawia zasady autoryzacji zewnętrznej, które definiują zestaw reguł autoryzacji użytkownika, biorąc pod uwagę zestaw oświadczeń.

IgnoreTransactionMessageProperty

Pobiera lub ustawia, czy należy zignorować element TransactionMessageProperty.

ImpersonateCallerForAllOperations

Pobiera lub ustawia wartość, która określa, czy usługa próbuje personifikować przy użyciu poświadczeń dostarczonych przez komunikat przychodzący.

ImpersonateOnSerializingReply

Pobiera wartość wskazującą, czy personifikacja jest używana podczas serializacji operacji odpowiedzi.

InputSessionShutdownHandlers

Pobiera kolekcję IInputSessionShutdown obiektów, których można użyć do dodania niestandardowej procedury obsługi w celu kontrolowania sposobu zamykania sesji wejściowych.

InstanceContextInitializers

Pobiera kolekcję IInstanceContextInitializer obiektów, których można użyć do inspekcji lub zmodyfikowania obiektu po jego pierwszym utworzeniu InstanceContext .

InstanceContextProvider

Pobiera lub ustawia wartość IInstanceContextProvider , która ma być używana przez element DispatchRuntime.

InstanceProvider

Pobiera lub ustawia IInstanceProvider obiekt, którego można użyć do kontrolowania tworzenia i niszczenia obiektów usługi.

MessageAuthenticationAuditLevel

Pobiera lub ustawia wartość określającą, czy zdarzenia uwierzytelniania komunikatów zakończonych powodzeniem są zapisywane w dzienniku zdarzeń określonym przez SecurityAuditLogLocationprogram .

MessageInspectors

Pobiera kolekcję IDispatchMessageInspector obiektów, których można użyć do dołączania niestandardowego inspektora komunikatów dla wszystkich przychodzących i wychodzących komunikatów w punkcie końcowym.

Operations

Pobiera kolekcję DispatchOperation obiektów, których można użyć do kontrolowania zachowania wykonywania określonej operacji.

OperationSelector

Pobiera lub ustawia IDispatchOperationSelector obiekt, który kontroluje wybór miejsca docelowego DispatchOperation dla określonego komunikatu.

PreserveMessage

Pobiera lub ustawia, czy komunikat jest zachowywany.

PrincipalPermissionMode

Pobiera lub ustawia wartość określającą sposób ustawiania CurrentPrincipal właściwości.

ReleaseServiceInstanceOnTransactionComplete

Pobiera lub ustawia wartość określającą, czy obiekt usługi jest przetwarzany po pomyślnym zakończeniu transakcji.

RoleProvider

Pobiera lub ustawia niestandardowy RoleProvider , który jest używany przez element DispatchRuntime.

SecurityAuditLogLocation

Pobiera lub ustawia lokalizację dziennika inspekcji.

ServiceAuthenticationManager

Pobiera lub ustawia obiekt, który zarządza procesem uwierzytelniania dla operacji usługi.

ServiceAuthorizationAuditLevel

Pobiera lub ustawia wartość, która kontroluje, jakie zdarzenia autoryzacji usługi są poddawane inspekcji.

ServiceAuthorizationManager

Pobiera element ServiceAuthorizationManager , który zapewnia sprawdzanie autoryzacji dla elementu DispatchRuntime.

SingletonInstanceContext

Pobiera lub ustawia pojedynczy element IInstanceContextProvider , który ma być używany przez element DispatchRuntime.

SuppressAuditFailure

Pobiera lub ustawia wartość określającą, czy pomijać wyjątki niekrytyczne występujące podczas procesu rejestrowania.

SynchronizationContext

Pobiera lub ustawia kontekst synchronizacji używany do wywoływania operacji usługi.

TransactionAutoCompleteOnSessionClose

Pobiera lub ustawia wartość, która określa, czy automatycznie zakończyć bieżącą transakcję po zamknięciu sesji.

Type

Pobiera lub ustawia typ kontraktu.

UnhandledDispatchOperation

Pobiera lub ustawia operację, do której są wysyłane nierozpoznane komunikaty.

ValidateMustUnderstand

Pobiera lub ustawia wartość .ValidateMustUnderstand

Metody

Equals(Object)

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

(Odziedziczone po Object)
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)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy