Sdílet prostřednictvím


DispatchRuntime Třída

Definice

Zveřejňuje vlastnosti, které lze použít ke změně výchozího chování služby, a také k připojení vlastních objektů, které mohou změnit způsob transformace příchozích zpráv na objekty a odesílání do operací. Tuto třídu nelze zdědit.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
Dědičnost
DispatchRuntime

Poznámky

DispatchRuntime Třídu použijte buď ke změně výchozího chování služby nebo jednotlivého koncového bodu, nebo k vložení objektů, které implementují vlastní úpravy jednoho nebo obou následujících procesů služby:

  1. Transformace příchozích zpráv na objekty a uvolnění těchto objektů jako metody vyvolání objektu služby.

  2. Transformace objektů přijatých z odpovědi na vyvolání operace služby do odchozích zpráv.

Ve Službě Windows Communication Foundation (WCF) jsou kanály a dispečery koncových bodů komponentami služby zodpovědné za přijímání nových kanálů, příjem zpráv, odesílání metod a vyvolání a zpracování odpovědí. Každý koncový bod vystavený objektem ServiceHost má jednoho dispečera koncového bodu a přidružený dispečer kanálu. Každý klient, který se účastní duplexní komunikace, má také dispečer koncového bodu a dispečer kanálu pro každý koncový bod zpětného volání.

DispatchRuntime vám umožňuje zachytit a rozšířit dispečera kanálu nebo koncového bodu pro všechny zprávy v rámci určitého kontraktu, a to i v případě, že není zpráva rozpoznána. Když přijde zpráva, která neodpovídá žádným zprávám deklarovaným ve smlouvě, je odeslána do operace, která byla vrácena UnhandledDispatchOperation vlastností. Pokud chcete zachytit nebo rozšířit všechny zprávy pro konkrétní operaci, podívejte se na třídu DispatchOperation.

Čtyři hlavní oblasti rozšiřitelnosti dispečera jsou vystaveny třídou DispatchRuntime.

  1. Komponenty dispatch používají vlastnosti a vlastnosti DispatchRuntime přidruženého dispečera kanálu vráceného ChannelDispatcher vlastností k přizpůsobení způsobu, jakým dispečer kanálu přijímá a ukončuje kanály. Tato kategorie obsahuje vlastnosti ChannelInitializers a InputSessionShutdownHandlers.

  2. Součásti zpráv jsou přizpůsobené pro každou zpracovanou zprávu. Tato kategorie zahrnuje vlastnosti MessageInspectors, OperationSelector, Operations a ErrorHandlers.

  3. Komponenty instance přizpůsobují vytváření, životnost a odstraňování instancí typu služby. Další informace o životnosti objektů služby naleznete v InstanceContextMode vlastnosti. Tato kategorie zahrnuje vlastnosti InstanceContextInitializers a InstanceProvider.

  4. Součásti související se zabezpečením můžou používat následující vlastnosti:

Vlastní rozšiřující objekty jsou obvykle přiřazeny k DispatchRuntime vlastnosti nebo vloženy do kolekce chováním služby (objekt, který implementuje IServiceBehavior), chování kontraktu (objekt, který implementuje IContractBehavior) nebo chování koncového bodu (objekt, který implementuje IEndpointBehavior). Pak se objekt chování instalace přidá do příslušné kolekce chování buď programově, nebo implementací vlastního BehaviorExtensionElement objektu, který umožní vložení chování pomocí konfiguračního souboru aplikace.

Vlastnosti

Name Description
AutomaticInputSessionShutdown

Získá nebo nastaví hodnotu, která určuje, zda služba zavře vstupní relaci, když klient zavře výstupní relaci.

CallbackClientRuntime

ClientRuntime Získá objekt, který představuje instalační bod pro rozšíření Windows Communication Foundation (WCF) pro odchozí volání do duplexního koncového bodu zpětného volání.

ChannelDispatcher

ChannelDispatcher Získá pro tento dispečer runtime objekt.

ConcurrencyMode

Získá nebo nastaví, zda instance služby zpracovává zprávy postupně nebo souběžně.

EndpointDispatcher

Získá pro tento modul runtime dispečeru EndpointDispatcher .

EnsureOrderedDispatch

Získá hodnotu, která označuje, zda zprávy mají být odeslány v pořadí, v jakém byly odeslány.

ExternalAuthorizationPolicies

Získá nebo nastaví zásady externí autorizace, které definují sadu pravidel pro autorizaci uživatele vzhledem k sadě deklarací identity.

IgnoreTransactionMessageProperty

Získá nebo nastaví, zda má ignorovat TransactionMessageProperty.

ImpersonateCallerForAllOperations

Získá nebo nastaví hodnotu, která určuje, zda se služba pokusí zosobnit pomocí přihlašovacích údajů poskytovaných příchozí zprávou.

ImpersonateOnSerializingReply

Získá hodnotu, která určuje, zda se zosobnění používá při serializaci operace odpovědi.

InputSessionShutdownHandlers

Získá kolekci IInputSessionShutdown objektů, které lze použít k přidání vlastní obslužné rutiny pro řízení způsobu zavření vstupních relací.

InstanceContextInitializers

Získá kolekci IInstanceContextInitializer objektů, které lze použít ke kontrole nebo úpravě objektu InstanceContext při prvním vytvoření.

InstanceContextProvider

Získá nebo nastaví, IInstanceContextProvider aby byl používán DispatchRuntime.

InstanceProvider

Získá nebo nastaví IInstanceProvider objekt, který můžete použít k řízení vytváření a zničení objektů služby.

MessageAuthenticationAuditLevel

Získá nebo nastaví hodnotu, která určuje, zda úspěšné události ověřování zpráv jsou zapsány do protokolu událostí určeného SecurityAuditLogLocation.

MessageInspectors

Získá kolekci IDispatchMessageInspector objektů, které lze použít k připojení vlastního inspektoru zpráv pro všechny příchozí a odchozí zprávy přes koncový bod.

Operations

Získá kolekci DispatchOperation objektů, které lze použít k řízení chování provádění konkrétní operace.

OperationSelector

Získá nebo nastaví IDispatchOperationSelector objekt, který řídí výběr cíle DispatchOperation pro konkrétní zprávu.

PreserveMessage

Získá nebo nastaví, zda je zpráva zachována.

PrincipalPermissionMode

Získá nebo nastaví hodnotu, která určuje, jak CurrentPrincipal je vlastnost nastavena.

ReleaseServiceInstanceOnTransactionComplete

Získá nebo nastaví hodnotu, která určuje, zda je objekt služby recyklován po úspěšném dokončení transakce.

RoleProvider

Získá nebo nastaví vlastní RoleProvider , který je používán DispatchRuntime.

SecurityAuditLogLocation

Získá nebo nastaví umístění protokolu auditu.

ServiceAuthenticationManager

Získá nebo nastaví objekt, který spravuje proces ověřování pro operace služby.

ServiceAuthorizationAuditLevel

Získá nebo nastaví hodnotu, která řídí, jaké události autorizace služby jsou auditovány.

ServiceAuthorizationManager

ServiceAuthorizationManager Získá, který poskytuje kontrolu autorizace pro DispatchRuntime.

SingletonInstanceContext

Získá nebo nastaví singleton IInstanceContextProvider , který má být používán DispatchRuntime.

SuppressAuditFailure

Získá nebo nastaví hodnotu, která určuje, zda má potlačit nekritické výjimky, ke kterým dochází během procesu protokolování.

SynchronizationContext

Získá nebo nastaví kontext synchronizace, který se používá k vyvolání operací služby.

TransactionAutoCompleteOnSessionClose

Získá nebo nastaví hodnotu, která určuje, zda se má automaticky dokončit aktuální transakce při zavření relace.

Type

Získá nebo nastaví typ kontraktu.

UnhandledDispatchOperation

Získá nebo nastaví operaci, do které se odesílají nerozpoznané zprávy.

ValidateMustUnderstand

Získá nebo nastaví hodnotu ValidateMustUnderstand.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro