다음을 통해 공유


Hello World 라우팅 서비스

HelloRoutingService 샘플 WCF(Windows Communication Foundation) 라우팅 서비스를 보여 줍니다. 라우팅 서비스는 애플리케이션에 내용 기반 라우터를 쉽게 포함할 수 있는 WCF 구성 요소입니다. 이 샘플에서는 라우팅 서비스를 사용하여 통신하도록 표준 WCF Calculator 샘플을 조정합니다. 이 샘플에서 계산기 클라이언트는 라우터에 의해 노출된 엔드포인트로 메시지를 보내도록 구성되어 있습니다. 라우팅 서비스는 전송된 모든 메시지를 승인하고 이를 계산기 서비스에 해당하는 엔드포인트에 전달하도록 구성되어 있습니다. 따라서 클라이언트에서 보내는 메시지는 라우터가 받아 실제 계산기 서비스로 다시 라우트합니다. 계산기 서비스에서 보내는 메시지는 다시 라우터로 전송되고 라우터는 이를 다시 계산기 클라이언트에 전달합니다.

이 샘플을 사용하려면

  1. Visual Studio를 사용하여 HelloRoutingService.sln을 엽니다.

  2. F5 키 또는 Ctrl+Shift+B를 누릅니다.

    참고 항목

    F5 키를 누르면 계산기 클라이언트가 자동으로 시작됩니다. Ctrl+Shift+B(빌드)를 누를 경우에는 다음 애플리케이션을 직접 시작해야 합니다.

    1. 계산기 클라이언트(./CalculatorClient/bin/client.exe)
    2. 계산기 서비스(./CalculatorService/bin/service.exe)
    3. 라우팅 서비스(./RoutingService/bin/RoutingService.exe)
  3. Enter 키를 눌러 클라이언트를 시작합니다.

    다음과 같은 출력이 표시됩니다.

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

코드 또는 App.Config를 통해 구성 가능

이 샘플은 App.config 파일을 사용하여 라우터 동작을 정의하도록 구성되어 있습니다. App.config 파일이 인식되지 않도록 이 파일의 이름을 다른 이름으로 바꾸고 ConfigureRouterViaCode() 메서드 호출의 주석 처리를 제거할 수도 있습니다. 어떤 방법을 사용하든 라우터 동작은 동일합니다.

시나리오

이 샘플에서는 기본 메시지 펌프 역할을 하는 라우터를 보여 줍니다. 라우팅 서비스는 미리 구성된 대상 엔드포인트 집합에 직접 메시지를 전달하도록 구성된 투명 프록시 노드 역할을 합니다.

실제 시나리오

Contoso에서는 서비스의 명명, 주소 지정, 구성 및 보안과 관련하여 유연성을 향상시키려고 합니다. 이를 위해 Contoso에서는 공개 엔드포인트 역할을 할 서비스 앞에 기본 메시지 펌프를 배치합니다. 이렇게 하면 실제 서비스 앞에 추가 보안 기능을 배치할 수 있으며 나중에 확장된 솔루션이나 서비스 버전 관리를 보다 쉽게 구현할 수 있습니다.

참고 항목