DispatchRuntime Klass

Definition

Exponerar egenskaper som kan användas för att ändra standardtjänstens beteende samt bifoga anpassade objekt som kan ändra hur inkommande meddelanden omvandlas till objekt och skickas till åtgärder. Det går inte att ärva den här klassen.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
Arv
DispatchRuntime

Kommentarer

DispatchRuntime Använd klassen antingen för att ändra standardbeteendet för en tjänst eller en enskild slutpunkt, eller för att infoga objekt som implementerar anpassade ändringar i en eller båda av följande tjänstprocesser:

  1. Omvandlingen av inkommande meddelanden till objekt och frigöra dessa objekt som metodanrop på ett tjänstobjekt.

  2. Omvandlingen av objekt som har mottagits från svaret på ett tjänsteanrop till utgående meddelanden.

I Windows Communication Foundation (WCF) är kanal- och slutpunktsutskickarna de tjänstkomponenter som ansvarar för att ta emot nya kanaler, ta emot meddelanden, metodsändning och anrop samt svarsbearbetning. Varje slutpunkt som exponeras av ett ServiceHost objekt har en slutpunktsutskickare och en associerad kanalsändare. Dessutom har varje klient som deltar i dubbelsidig kommunikation även en slutpunktsutskickare och kanalsändare för varje motringningsslutpunkt.

Möjliggör DispatchRuntime att du kan fånga upp och utöka kommunikationskanalen eller slutpunktshanteraren för alla meddelanden inom ett specifikt kontrakt, även om meddelandet inte känns igen. När ett meddelande tas emot som inte matchar några meddelanden som deklarerats i kontraktet skickas det till den åtgärd som returnerades av UnhandledDispatchOperation egenskapen. Information om hur du fångar upp eller utökar alla meddelanden för en viss åtgärd finns i klassen DispatchOperation.

Det finns fyra huvudområden för utökning av dispatcher som exponeras av klassen DispatchRuntime.

  1. Dispatch-komponenter använder egenskaperna för och egenskaperna DispatchRuntime för den associerade kanalutskickaren som returneras av ChannelDispatcher egenskapen för att anpassa hur kanalutskickaren accepterar och stänger kanaler. Den här kategorin innehåller ChannelInitializers egenskaperna och InputSessionShutdownHandlers .

  2. Meddelandekomponenter anpassas för varje bearbetat meddelande. Den här kategorin innehåller MessageInspectorsegenskaperna , OperationSelector, Operationsoch ErrorHandlers .

  3. Instanskomponenter anpassar skapande, livslängd och bortskaffande av instanser av tjänsttypen. Mer information om livslängden för tjänstobjekt finns i egenskapen InstanceContextMode . Den här kategorin innehåller InstanceContextInitializers egenskaperna och InstanceProvider .

  4. Säkerhetsrelaterade komponenter kan använda följande egenskaper:

Vanligtvis tilldelas anpassade tilläggsobjekt till en DispatchRuntime egenskap eller infogas i en samling av ett tjänstbeteende (ett objekt som implementerar IServiceBehavior), ett kontraktsbeteende (ett objekt som implementerar ) eller ett slutpunktsbeteende IContractBehavior(ett objekt som implementerar IEndpointBehavior). Sedan läggs installationsbeteendeobjektet till i lämplig samling beteenden antingen programmatiskt eller genom att implementera ett anpassat BehaviorExtensionElement objekt för att göra det möjligt att infoga beteendet med hjälp av en programkonfigurationsfil.

Egenskaper

Name Description
AutomaticInputSessionShutdown

Hämtar eller anger ett värde som anger om tjänsten stänger en indatasession när klienten stänger en utdatasession.

CallbackClientRuntime

Hämtar objektet ClientRuntime som representerar installationsplatsen för tillägg till Windows Communication Foundation (WCF) för utgående anrop till en slutpunkt för duplexåteranrop.

ChannelDispatcher

ChannelDispatcher Hämtar för det här körningsobjektet för sändning.

ConcurrencyMode

Hämtar eller anger om en instans av en tjänst bearbetar meddelanden sekventiellt eller samtidigt.

EndpointDispatcher

EndpointDispatcher Hämtar för den här sändningskörningen.

EnsureOrderedDispatch

Hämtar ett värde som anger om meddelanden ska skickas i den ordning de skickades.

ExternalAuthorizationPolicies

Hämtar eller anger de externa auktoriseringsprinciper som definierar en uppsättning regler för att auktorisera en användare, givet en uppsättning anspråk.

IgnoreTransactionMessageProperty

Hämtar eller anger om du TransactionMessagePropertyvill ignorera .

ImpersonateCallerForAllOperations

Hämtar eller anger ett värde som styr om tjänsten försöker personifiera med hjälp av autentiseringsuppgifterna i det inkommande meddelandet.

ImpersonateOnSerializingReply

Hämtar ett värde som anger om personifiering används vid serialisering av svarsåtgärden.

InputSessionShutdownHandlers

Hämtar en samling IInputSessionShutdown objekt som kan användas för att lägga till en anpassad hanterare för att styra hur indatasessioner stängs.

InstanceContextInitializers

Hämtar en samling IInstanceContextInitializer objekt som kan användas för att inspektera eller ändra ett InstanceContext objekt när det först skapas.

InstanceContextProvider

Hämtar eller ställer in som IInstanceContextProvider ska användas av DispatchRuntime.

InstanceProvider

Hämtar eller anger ett IInstanceProvider objekt som du kan använda för att styra skapandet och förstörelsen av tjänstobjekt.

MessageAuthenticationAuditLevel

Hämtar eller anger ett värde som anger om lyckade meddelandeautentiseringshändelser skrivs till händelseloggen som anges av SecurityAuditLogLocation.

MessageInspectors

Hämtar en samling IDispatchMessageInspector objekt som kan användas för att koppla en anpassad meddelandekontroll för alla inkommande och utgående meddelanden över slutpunkten.

Operations

Hämtar en samling DispatchOperation objekt som kan användas för att styra körningsbeteendet för en viss åtgärd.

OperationSelector

Hämtar eller anger det IDispatchOperationSelector objekt som styr valet av ett mål DispatchOperation för ett visst meddelande.

PreserveMessage

Hämtar eller anger om meddelandet bevaras.

PrincipalPermissionMode

Hämtar eller anger ett värde som anger hur egenskapen CurrentPrincipal anges.

ReleaseServiceInstanceOnTransactionComplete

Hämtar eller anger ett värde som anger om tjänstobjektet återvinns när transaktionen har slutförts.

RoleProvider

Hämtar eller anger den anpassade RoleProvider som används av DispatchRuntime.

SecurityAuditLogLocation

Hämtar eller anger platsen för granskningsloggen.

ServiceAuthenticationManager

Hämtar eller anger det objekt som hanterar en autentiseringsprocess för tjänståtgärder.

ServiceAuthorizationAuditLevel

Hämtar eller anger ett värde som styr vilka tjänstauktoriseringshändelser som granskas.

ServiceAuthorizationManager

Hämtar som ServiceAuthorizationManager tillhandahåller auktoriseringskontroll för DispatchRuntime.

SingletonInstanceContext

Hämtar eller anger den singleton IInstanceContextProvider som ska användas av DispatchRuntime.

SuppressAuditFailure

Hämtar eller anger ett värde som anger om icke-kritiska undantag som ska utföras under loggningsprocessen ska ignoreras.

SynchronizationContext

Hämtar eller anger synkroniseringskontexten som används för att anropa tjänståtgärderna.

TransactionAutoCompleteOnSessionClose

Hämtar eller anger ett värde som anger om den aktuella transaktionen ska slutföras automatiskt när sessionen stängs.

Type

Hämtar eller anger kontraktstypen.

UnhandledDispatchOperation

Hämtar eller anger den åtgärd som okända meddelanden skickas till.

ValidateMustUnderstand

Hämtar eller anger värdet ValidateMustUnderstandför .

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för