Freigeben über


Hello World mit dem Routingdienst

Das Beispiel "HelloRoutingService " veranschaulicht den Wcf-Routingdienst (Windows Communication Foundation). Der Routingdienst ist eine WCF-Komponente, die die Aufnahme eines inhaltsbasierten Routers in Ihre Anwendung erleichtert. Dieses Beispiel passt das standardmäßige WCF-Rechnerbeispiel an die Kommunikation mithilfe des Routingdiensts an. In diesem Beispiel wird der Rechnerclient so konfiguriert, dass Nachrichten an einen Endpunkt gesendet werden, der vom Router verfügbar gemacht wird. Der Routingdienst ist so konfiguriert, dass alle an ihn gesendeten Nachrichten akzeptiert und an einen Endpunkt weitergeleitet werden, der dem Rechnerdienst entspricht. Daher werden nachrichten, die vom Client gesendet werden, vom Router empfangen und an den tatsächlichen Rechnerdienst umgeleitet. Nachrichten vom Rechnerdienst werden an den Router zurückgesendet, der sie wiederum an den Rechnerclient zurückgibt.

So verwenden Sie dieses Beispiel

  1. Öffnen Sie mit Visual Studio HelloRoutingService.sln.

  2. drücken Sie F5 oder Strg+Umschalt+B.

    Hinweis

    Wenn Sie F5 drücken, wird der Rechnerclient automatisch gestartet. Wenn Sie Strg+Umschalt+B (Build) drücken, müssen Sie folgende Anwendungen selbst starten.

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

    Ihnen sollte die folgende Ausgabe angezeigt werden:

     Add(100,15.99) = 115.99
    
     Subtract(145,76.54) = 68.46
    
     Multiply(9,81.25) = 731.25
    
     Divide(22,7) = 3.14285714285714
    

Konfigurierbar über Code oder App.Config

Das Beispiel ist so konfiguriert, dass eine App.config-Datei zur Definition des Verhaltens des Routers verwendet wird. Sie können auch den Namen der App.config Datei in eine andere Datei ändern, sodass sie nicht erkannt wird und die Kommentare des Methodenaufrufs an ConfigureRouterViaCode() aufheben. Beide Methoden führen zu demselben Verhalten vom Router.

Szenario

In diesem Beispiel wird veranschaulicht, dass der Router als einfache Nachrichtenpumpe fungiert. Der Routingdienst fungiert als transparenter Proxyknoten, der so konfiguriert ist, dass Nachrichten direkt an eine vorkonfigurierte Gruppe von Zielendpunkten übergeben werden.

Real World Scenario

Contoso möchte die Flexibilität bei der Benennung, Adressierung, Konfiguration und Sicherheit seiner Dienste erhöhen. Dazu platzieren sie eine grundlegende Nachrichtenpumpe vor ihren Diensten, um als öffentlich zugänglicher Endpunkt zu fungieren. Auf diese Weise können sie zusätzliche Sicherheit vor ihren tatsächlichen Diensten platzieren und die Implementierung skalierter Lösungen oder dienstversionsverwaltung zu einem späteren Zeitpunkt vereinfachen.

Siehe auch