Hello World mit dem RoutingdienstHello World with the Routing Service

Diesem Beispiel wird der Windows Communication Foundation (WCF)-Routingdienst veranschaulicht.This sample demonstrates the Windows Communication Foundation (WCF) Routing Service. Der Routingdienst ist eine WCF-Komponente, die integrieren ein inhaltsbasierten Routers in die Anwendung aufnehmen vereinfacht.The Routing Service is a WCF component that makes it easy to include a content-based router in your application. In diesem Beispiel wird die standard-WCF--Rechnerbeispiel für die Kommunikation über den Routingdienst angepasst.This sample adapts the standard WCF Calculator Sample to communicate using the Routing Service. In diesem Beispiel ist der Rechnerclient so konfiguriert, dass er Nachrichten an einen vom Router verfügbar gemachten Endpunkt sendet.In this sample, the Calculator client is configured to send messages to an endpoint exposed by the router. Der Routingdienst ist so konfiguriert, dass er alle gesendeten Nachrichten akzeptiert und diese an einen Endpunkt weiterleitet, der dem Rechnerdienst entspricht.The Routing Service is configured to accept all messages sent to it and to forward them to an endpoint that corresponds to the Calculator service. Somit werden vom Client gesendete Nachrichten vom Router empfangen und zum eigentlichen Rechnerdienst umgeleitet.Thus messages sent from the client are received by the router and re-routed to the actual Calculator service. Nachrichten vom Rechnerdienst werden an den Router zurückgesendet, der sie dann zurück an den Rechnerclient übergibt.Messages from the Calculator service are sent back to the router, which in turn passes them back to the Calculator client.

So verwenden Sie dieses BeispielTo use this sample

  1. Öffnen Sie HelloRoutingService.sln mit Visual Studio 2012Visual Studio 2012.Using Visual Studio 2012Visual Studio 2012, open HelloRoutingService.sln.

  2. Drücken Sie F5 oder STRG+UMSCHALT+B.Press F5 or CTRL+SHIFT+B.

    Hinweis

    Wenn Sie F5 drücken, wird der Rechnerclient automatisch gestartet.If you press F5, the Calculator Client automatically starts. Wenn Sie STRG+UMSCHALT+B (Erstellen) drücken, müssen Sie die folgenden Anwendungen selbst starten.If you press CTRL+SHIFT+B (build), you must start following applications yourself.

    1. Rechnerclient (./CalculatorClient/bin/client.exe)Calculator client (./CalculatorClient/bin/client.exe
      1. Rechnerdienst (./CalculatorService/bin/service.exe)Calculator service (./CalculatorService/bin/service.exe)
      2. Routingdienst (./RoutingService/bin/RoutingService.exe)Routing service (./RoutingService/bin/RoutingService.exe)
  3. Drücken Sie die EINGABETASTE, um den Client zu starten.Press ENTER to start the client.

    Die folgende Ausgabe wird angezeigt:You should see the following output:

    Add(100,15.99) = 115.99Add(100,15.99) = 115.99

    Subtract(145,76.54) = 68.46Subtract(145,76.54) = 68.46

    Multiply(9,81.25) = 731.25Multiply(9,81.25) = 731.25

    Divide(22,7) = 3.14285714285714Divide(22,7) = 3.14285714285714

Konfigurierbar über Code oder App.ConfigConfigurable via Code or App.Config

Das Beispiel wird so konfiguriert geliefert, dass die Datei App.config das Verhalten des Routers definiert.The sample ships configured to use an App.config file to define the router’s behavior. Sie können außerdem den Namen der Datei App.config ändern, damit er nicht erkannt wird, und die Auskommentierung des Methodenaufrufs von ConfigureRouterViaCode() aufheben.You can also change the name of the App.config file to something else so that it is not recognized and uncomment the method call to ConfigureRouterViaCode(). Beide Methoden führen zum gleichen Routerverhalten.Either method results in the same behavior from the router.

SzenarioScenario

In diesem Beispiel wird der Router in der Funktion als einfaches Nachrichtensystem veranschaulicht.This sample demonstrates the router acting as a basic message pump. Der Routingdienst funktioniert als transparenter Proxyknoten, der so konfiguriert wurde, dass er Nachrichten direkt an einen vorkonfigurierten Satz von Zielendpunkten übergibt.The routing service acts as a transparent proxy node configured to pass messages directly to a preconfigured set of destination endpoints.

Reales SzenarioReal World Scenario

Contoso möchte mehr Flexibilität bei der Benennung, Adressierung, Konfiguration und Sicherheit der Dienste.Contoso wants to increase the flexibility it has in the naming, addressing, configuration, and security of its services. Aus diesem Grund wird ein einfaches Nachrichtensystem vor die Dienste gesetzt, das als öffentlicher Endpunkt fungiert.To do this, they place a basic message pump in front of their services to act as a public facing endpoint. So können zusätzliche Sicherheitsmaßnahmen vor den eigentlichen Diensten eingefügt werden, und skalierte Lösungen sowie die Dienstversionsverwaltung können später einfacher implementiert werden.This allows them to place additional security in front of their actual services and make it easier to implement scaled out solutions or service versioning at a later date.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. 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\Basic\RoutingServices\HelloRoutingService

Siehe auchSee Also

AppFabric-Hosting und PersistenzbeispieleAppFabric Hosting and Persistence Samples