Anhang B. Überschriften und Kontexte

In jeder Methode für jeden Aufruf eines .NET-Objekts gibt es explizite Argumente, die als Methodenparameter übergeben werden, und implizite Parameter, die für den Methodenkörper verfügbar sind. Zu diesen impliziten Parametern gehören der Thread, in dem der Aufruf ausgeführt wird (verfügbar über Thread.Current), die App-Domäne des Aufrufs (verfügbar über AppDomain.Current), die Transaktionen des Aufrufs, falls vorhanden (verfügbar über Transaction.Current), der Synchronisationskontext des Aufrufs (verfügbar über SynchronizationContext.Current), der Sicherheitsprinzipal des Aufrufs (verfügbar über Thread.CurrentPrincipal) und sogar der wenig bekannte Ausführungskontext des Aufrufs selbst (verfügbar über Thread.CurrentContext). Diese Out-of-Band-Parameter stellen den logischen Ausführungskontext des Aufrufs dar, der für das Funktionieren des Objekts und von .NET selbst wichtig ist. Aber wie kannst du zusätzliche Kontextparameter an deinen WCF-Dienst übergeben und so deinen eigenen benutzerdefinierten Kontext erstellen? Ein solcher Bedarf ist überraschend häufig und nützlich: In Kapitel 4 wird beispielsweise ein benutzerdefinierter Kontext verwendet, um die Instanz-IDs von dauerhaften Diensten zu verwalten, in Kapitel 8 wird ein benutzerdefinierter Kontext verwendet, um die Aufrufpriorität bereitzustellen, und in Kapitel 9 wird ein benutzerdefinierter Kontext verwendet, um die Adresse eines Antwortdienstes in der Warteschlange zu übergeben. In ...

Get Programmierung von WCF-Diensten, 4. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.