DispatchRuntime 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.
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:
Przekształcanie komunikatów przychodzących w obiekty i zwalnianie tych obiektów jako wywołań metody w obiekcie usługi.
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 :
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 .
Składniki komunikatów są dostosowywane dla każdego przetworzonego komunikatu. Ta kategoria obejmuje MessageInspectorswłaściwości , OperationSelector, Operationsi ErrorHandlers .
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 .
Składniki związane z zabezpieczeniami mogą używać następujących właściwości:
SecurityAuditLogLocation wskazuje, gdzie są zapisywane zdarzenia inspekcji.
ImpersonateCallerForAllOperations określa, czy usługa próbuje personifikować przy użyciu poświadczeń dostarczonych przez komunikat przychodzący.
MessageAuthenticationAuditLevel określa, czy zdarzenia uwierzytelniania komunikatów zakończonych powodzeniem są zapisywane w dzienniku zdarzeń określonym przez SecurityAuditLogLocationprogram .
PrincipalPermissionMode określa sposób ustawiania CurrentPrincipal właściwości.
ServiceAuthorizationAuditLevel określa sposób przeprowadzania inspekcji zdarzeń autoryzacji.
SuppressAuditFailure Określa, czy należy pominąć wyjątki niekrytyczne, które występują podczas procesu rejestrowania.
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) |