DispatchRuntime Třída

Definice

Zpřístupňuje vlastnosti, které lze použít k úpravě 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 dědit.

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

Poznámky

DispatchRuntime Pomocí třídy můžete upravit výchozí chování služby nebo jednotlivého koncového bodu nebo vložit objekty, 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 volání metody na objekt služby.

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

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

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

Existují čtyři hlavní oblasti rozšiřitelnosti dispečera vystavené DispatchRuntime třídou :

  1. Součásti dispatch používají vlastnosti DispatchRuntime a vlastnosti 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 zavírá kanály. Tato kategorie zahrnuje ChannelInitializers vlastnosti a InputSessionShutdownHandlers .

  2. Součásti zpráv jsou přizpůsobené pro každou zpracovávanou zprávu. Tato kategorie zahrnuje MessageInspectorsvlastnosti , OperationSelector, Operationsa .ErrorHandlers

  3. Komponenty instance přizpůsobují vytváření, životnost a vyřazení instancí typu služby. Další informace o životnostech objektů služby najdete ve InstanceContextMode vlastnosti . Tato kategorie zahrnuje InstanceContextInitializers vlastnosti a InstanceProvider .

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

Vlastní objekty rozšíření se obvykle přiřazují DispatchRuntime vlastnosti nebo se do kolekce vkládají chováním služby (objekt, který implementuje IServiceBehavior), chováním kontraktu (objekt, který implementuje IContractBehavior) nebo chováním 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žňuje vložit chování pomocí konfiguračního souboru aplikace.

Vlastnosti

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 bod instalace pro rozšíření Windows Communication Foundation (WCF) pro odchozí volání na duplexní zpětné volání koncového bodu.

ChannelDispatcher

ChannelDispatcher Získá pro tento dispečer běh-time objekt.

ConcurrencyMode

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

EndpointDispatcher

EndpointDispatcher Získá pro tento modul runtime dispatch.

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 se má ignorovat TransactionMessageProperty.

ImpersonateCallerForAllOperations

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

ImpersonateOnSerializingReply

Získá hodnotu, která označuje, zda se používá zosobnění při operaci serializace odpovědi.

InputSessionShutdownHandlers

Získá kolekci IInputSessionShutdown objektů, které lze použít k přidání vlastní obslužné rutiny pro řízení, jak vstupní relace jsou uzavřeny.

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žit objektem 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 jsou události ověření úspěšné zprávy zapsány do protokolu událostí určeného nástrojem 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 v rámci koncového bodu.

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 je vlastnost nastavena CurrentPrincipal .

ReleaseServiceInstanceOnTransactionComplete

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

RoleProvider

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

SecurityAuditLogLocation

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

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

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

SingletonInstanceContext

Získá nebo nastaví jednoúčel IInstanceContextProvider pro použití objektem DispatchRuntime.

SuppressAuditFailure

Získá nebo nastaví hodnotu, která určuje, zda se mají 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 ukončení relace.

Type

Získá nebo nastaví typ kontraktu.

UnhandledDispatchOperation

Získá nebo nastaví operaci, do které jsou odeslány nerozpoznané zprávy.

ValidateMustUnderstand

Získá nebo nastaví hodnotu .ValidateMustUnderstand

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

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

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

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

(Zděděno od Object)

Platí pro