Erweitern von ServiceHost und der DienstmodellebeneExtending ServiceHost and the Service Model Layer

Die Dienstmodellebene ist dafür verantwortlich, eingehende Nachrichten aus den zugrunde liegenden Kanälen abzufangen, sie in Methodenaufrufe per Anwendungscode zu übersetzen und die Ergebnisse zurück an den Aufrufer zu senden.The service model layer is responsible for pulling incoming messages out of the underlying channels, translating them into method invocations in application code, and sending the results back to the caller. Dienstmodellerweiterungen ändern bzw. implementieren Ausführungs- oder Kommunikationsverhalten und Funktionen wie Verteileroptionen, benutzerdefiniertes Verhalten, Nachrichten- oder Parameterinterceptoren und andere Erweiterbarkeitsfunktionen.Service model extensions modify or implement execution or communication behavior and features involving client or dispatcher functionality, custom behaviors, message and parameter interception, and other extensibility functionality.

In diesem AbschnittIn This Section

Erweitern von ClientsExtending Clients
Beschreibt die Schnittstellen, die die Client-Runtime abfangen und bearbeiten können, sowie die Klassen, in die Sie Ihre benutzerdefinierten Erweiterungen in Clientanwendungen einfügen können.Describes the interfaces that can intercept and modify the client runtime, as well as the classes into which you can insert your custom extensions in client applications. Sie können beispielsweise eine benutzerdefinierte Clientnachrichtenprotokollierung, benutzerdefinierte Nachrichtenserialisierung usw. durchführen.For example, you can perform custom client message logging, perform custom message serialization, and so on.

Erweitern von VerteilernExtending Dispatchers
Beschreibt die Schnittstellen, die die Dienst-Runtime abfangen und bearbeiten können, sowie die Klassen, in die Sie Ihre benutzerdefinierten Erweiterungen in Dienstanwendungen einfügen können.Describes the interfaces that can intercept and modify the service runtime, as well as the classes into which you can insert your custom extensions in service applications. Sie können beispielsweise eine benutzerdefinierte Dienstprotokollierung, eine Nachrichtenvalidierung aufseiten des Dienstes, einen benutzerdefinierten Versand usw. durchführen.For example, you can perform custom service logging, service-side message validation, custom dispatching, and so on.

Erweiterbare ObjekteExtensible Objects
Beschreibt die fünf erweiterbaren Objekte und das IExtensibleObject<T>-Muster.Describes the five extensible objects and the IExtensibleObject<T> pattern. Das erweiterbare Objektmuster wird verwendet, um entweder vorhandene Laufzeitklassen um neue Funktionen zu erweitern oder um einem Objekt neue Zustandsfunktionen hinzuzufügen.The extensible object pattern is used to either extend existing runtime classes with new functionality or to add new state to an object. Erweiterungen, die einem der erweiterbaren Objekte zugeordnet sind, ermöglichen es Verhalten in verschiedenen Phasen der Verarbeitung, auf gemeinsam verwendete Zustände und Funktionen zuzugreifen, die an ein zugängliches und allgemeines erweiterbares Objekt angefügt sind.Extensions, attached to one of the extensible objects, enable behaviors at very different stages in processing to access shared state and functionality attached to a common extensible object that they can access.

Konfigurieren und Erweitern der Laufzeit mit VerhaltenConfiguring and Extending the Runtime with Behaviors
Zum Ändern von Einstellungen auf bzw. um Erweiterungen in die WCF-Laufzeit einzufügen, verwenden Sie Verhalten.To change settings on or insert extensions in the WCF runtime, you use Behaviors. WCF umfasst vom System implementierte Verhalten zum Steuern von Einschränkungen, Instanzen und anderen Dienst- und Vorgangsaspekten.WCF includes system-implemented behaviors for controlling throttling, instancing, and many other aspects of services and operations. Dieser Abschnitt beschreibt, wie Sie Ihre eigenen benutzerdefinierten Verhalten erstellen und sie programmatisch bzw. mit Konfigurationsdateien verfügbar machen können.This section describes how to create your own custom behaviors and how to make them available for use both programmatically and using configuration files.

Erweitern des Hosting mit ServiceHostFactoryExtending Hosting Using ServiceHostFactory
Beschreibt, wie Sie System.ServiceModel.ServiceHostBase, System.ServiceModel.ServiceHost erweitern und die System.ServiceModel.Activation.ServiceHostFactory-Klassen verwenden können, um die Hostumgebung anzupassen.Describes how to extend System.ServiceModel.ServiceHostBase, System.ServiceModel.ServiceHost, and use the System.ServiceModel.Activation.ServiceHostFactory classes to customize the host environment.

ReferenzReference