Hello World con il servizio di routingHello World with the Routing Service

Questo esempio viene illustrato il servizio di Routing di Windows Communication Foundation (WCF).This sample demonstrates the Windows Communication Foundation (WCF) Routing Service. Il servizio di Routing è un componente WCF che rende più semplice includere un router basato sul contenuto nell'applicazione.The Routing Service is a WCF component that makes it easy to include a content-based router in your application. In questo esempio adatta l'esempio di calcolatrice WCF standard per comunicare mediante il servizio di Routing.This sample adapts the standard WCF Calculator Sample to communicate using the Routing Service. In questo esempio, il client calcolatrice è configurato per inviare messaggi a un endpoint esposto dal router.In this sample, the Calculator client is configured to send messages to an endpoint exposed by the router. Il servizio di routing è configurato per accettare tutti i messaggi ad esso inviati e per inoltrarli a un endpoint che corrisponde al servizio di calcolatrice.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. I messaggi inviati dal client vengono pertanto ricevuti dal router e reindirizzati al servizio di calcolatrice effettivo.Thus messages sent from the client are received by the router and re-routed to the actual Calculator service. I messaggi provenienti dal servizio di calcolatrice di backup vengono inviati nuovamente al router del servizio, che a sua volta li inoltra al client calcolatrice.Messages from the Calculator service are sent back to the router, which in turn passes them back to the Calculator client.

Per usare questo esempioTo use this sample

  1. Utilizzando Visual Studio 2012Visual Studio 2012, aprire HelloRoutingService.sln.Using Visual Studio 2012Visual Studio 2012, open HelloRoutingService.sln.

  2. Premere F5 o CTRL+MAIUSC+B.Press F5 or CTRL+SHIFT+B.

    Nota

    Se si preme F5, il client calcolatrice viene avviato automaticamente.If you press F5, the Calculator Client automatically starts. Se si preme CTRL+MAIUSC+B (compilazione), è necessario avviare le applicazioni seguenti.If you press CTRL+SHIFT+B (build), you must start following applications yourself.

    1. Client calcolatrice (./CalculatorClient/bin/client.exeCalculator client (./CalculatorClient/bin/client.exe
      1. Servizio di calcolatrice (./CalculatorService/bin/service.exe)Calculator service (./CalculatorService/bin/service.exe)
      2. Servizio di routing (./RoutingService/bin/RoutingService.exe)Routing service (./RoutingService/bin/RoutingService.exe)
  3. Premere INVIO per avviare il client.Press ENTER to start the client.

    È necessario visualizzare il seguente output: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

Configurabile tramite codice o App.ConfigConfigurable via Code or App.Config

L'esempio proposto è configurato per l'uso di un file App.config per la definizione del comportamento del router.The sample ships configured to use an App.config file to define the router’s behavior. È inoltre possibile modificare il nome del file App.config affinché non venga riconosciuto e rimuovere i commenti dalla chiamata al metodo in ConfigureRouterViaCode().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(). Entrambi i metodi restituiscono lo stesso comportamento da parte del router.Either method results in the same behavior from the router.

ScenarioScenario

Questo esempio descrive l'utilizzo del router come message pump di base.This sample demonstrates the router acting as a basic message pump. Il servizio di routing viene utilizzato come nodo proxy trasparente configurato per inoltrare direttamente messaggi a un set preconfigurato di endpoint di destinazione.The routing service acts as a transparent proxy node configured to pass messages directly to a preconfigured set of destination endpoints.

Scenario realeReal World Scenario

Contoso desidera incrementare la flessibilità relativa a denominazione, indirizzamento, configurazione e sicurezza dei propri servizi.Contoso wants to increase the flexibility it has in the naming, addressing, configuration, and security of its services. A tale scopo, una message pump di base viene posizionata di fronte ai servizi per essere utilizzata come endpoint rivolto al pubblico.To do this, they place a basic message pump in front of their services to act as a public facing endpoint. Ciò consente di posizionare sicurezza aggiuntiva davanti ai servizi effettivi e di semplificare l'implementazione di soluzioni di scalabilità o di controllo delle versioni del servizio in una data successiva.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.

Importante

È possibile che gli esempi siano già installati nel computer.The samples may already be installed on your computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Se questa directory non esiste, andare al Windows Communication Foundation (WCF) e gli esempi di Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti i Windows Communication Foundation (WCF) e WFWF esempi.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. Questo esempio si trova nella directory seguente.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\RoutingServices\HelloRoutingService

Vedere ancheSee Also

Hosting di AppFabric ed esempi di persistenzaAppFabric Hosting and Persistence Samples