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í.
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:
Transformace příchozích zpráv na objekty a uvolnění těchto objektů jako metody vyvolání objektu služby.
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.
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.
Součásti zpráv jsou přizpůsobené pro každou zpracovanou zprávu. Tato kategorie zahrnuje vlastnosti MessageInspectors, OperationSelector, Operations a ErrorHandlers.
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.
Součásti související se zabezpečením můžou používat následující vlastnosti:
SecurityAuditLogLocation označuje, kde se zapisují události auditu.
ImpersonateCallerForAllOperations určuje, jestli se služba pokusí napodobit pomocí přihlašovacích údajů z příchozí zprávy.
MessageAuthenticationAuditLevel určuje, zda jsou události úspěšného ověřování zpráv zapsány do protokolu událostí určeného SecurityAuditLogLocation.
PrincipalPermissionMode určuje, jak CurrentPrincipal je vlastnost nastavena.
ServiceAuthorizationAuditLevel určuje, jak se provádí auditování událostí autorizace.
SuppressAuditFailure určuje, zda se mají potlačit nekritické výjimky, ke kterým dochází během procesu protokolování.
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) |