DispatchRuntime Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Transformace příchozích zpráv na objekty a uvolnění těchto objektů jako volání metody na objekt služby.
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 :
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 .
Součásti zpráv jsou přizpůsobené pro každou zpracovávanou zprávu. Tato kategorie zahrnuje MessageInspectorsvlastnosti , OperationSelector, Operationsa .ErrorHandlers
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 .
Součásti související se zabezpečením můžou používat následující vlastnosti:
SecurityAuditLogLocation označuje, kam se zapisují události auditu.
ImpersonateCallerForAllOperations určuje, jestli se služba pokusí zosobnit pomocí přihlašovacích údajů poskytnutých příchozí zprávou.
MessageAuthenticationAuditLevel určuje, jestli se úspěšné události ověřování zpráv zapisují do protokolu událostí určeného parametrem SecurityAuditLogLocation.
PrincipalPermissionMode určuje, jak CurrentPrincipal je vlastnost nastavena.
ServiceAuthorizationAuditLevel určuje, jak se provádí auditování událostí autorizace.
SuppressAuditFailure Určuje, jestli se mají potlačit nekritické výjimky, ke kterým dochází během procesu protokolování.
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) |