Lokaler KanalLocal Channel

Lokaler Kanal ist ein Windows Communication Foundation (WCF)-Transportkanal, der für die Kommunikation innerhalb derselben Anwendungsdomäne verwendet wird.Local Channel is a Windows Communication Foundation (WCF) transport channel that is used for communication within the same application domain. Dies ist nützlich bei Szenarien, in denen der Client und der Dienst in der gleichen Anwendungsdomäne ausgeführt werden und der Mehraufwand eines normalen WCF-Kanalstapels (Serialisierung und Deserialisierung von Meldungen) vermieden werden muss.This is useful for scenarios where the client and the service are running in the same application domain and the overhead of the typical WCF channel stack (serialization and deserialization of messages) must be avoided.

VeranschaulichtDemonstrates

Lokaler KanalLocal Channel

DiskussionDiscussion

Das Beispiel umfasst zwei Projektdateien.The sample consists of two project files:

  • LocalChannel: die programmgesteuerte Darstellung des lokalen Kanals in der aktuellen Anwendungsdomäne.LocalChannel: The programmatic representation of the local channel within the current application domain. In diesem Projekt fügt die sendende Komponente die Nachricht einer Warteschlange im Arbeitsspeicher hinzu. Die empfangende Komponente ruft die Nachricht aus der Warteschlange ab, um sie zu empfangen.In this project, the sending component places the message in an in-memory queue and the receiving component de-queues the message to receive it.

  • ClientAndService: dieses Projekt hostet einen Dienst in einer Konsolenanwendung und führt dann einen Client, um den Dienst von innerhalb der gleichen Anwendungsdomäne aufzurufen.ClientAndService: This project hosts a service in a console application and then runs a client to call the service from within the same application domain.

Aufgrund des Entwurfs des lokalen Kanals werden Kanalstapel und Serialisierungsvorgang ausgelassen, um die Geschwindigkeit zu erhöhen.The local channel design skips both the channel stack and the serialization process to increase speed. Der lokale Transportkanal wird mit einer Warteschlange implementiert, mit der Dienstaufrufe vom Client zum Dienst transportiert und der Wert zum Client zurückgesendet wird.The local transport channel is implemented using a queue to transport service calls from the client to the service and to return back the value to the client. Im Beispiel werden die Objekte kopiert, statt Parameter und Rückgabewerte zu serialisieren.Rather than serializing parameters and return values, the sample copies the objects.

So können Sie das Beispiel einrichten, erstellen und ausführenTo set up, build, and run the sample

  1. Erstellen Sie die Projektmappe LocalChannel, und führen Sie sie aus.Build and run the LocalChannel solution.

  2. Der Diensthost wird gestartet, und der Client ruft den Dienst mithilfe des lokalen Kanals auf.The service host is started and the client calls the service using the local channel. Ein Konsolenfenster mit den Ergebnissen des Dienstaufrufs wird angezeigt.A console window appears to display the results of the service call.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Extensibility\Channels\LocalChannel