다음을 통해 공유


Hello World와 함께하는 라우팅 서비스

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

이 샘플을 사용하려면

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

  2. F5 키 또는 Ctrl+ ShiftB+ 누릅니다.

    비고

    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
    

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

샘플은 App.config 파일을 사용하여 라우터의 동작을 정의하도록 구성됩니다. App.config 파일의 이름을 다른 이름으로 변경하여 인식되지 않도록 하고, ConfigureRouterViaCode()에 대한 메서드 호출의 주석 처리를 제거할 수도 있습니다. 두 방법 중 하나가 라우터에서 동일한 동작을 생성합니다.

시나리오

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

실제 시나리오

Contoso는 서비스의 명명, 주소 지정, 구성 및 보안에서 유연성을 높이고자 합니다. 이를 위해 서비스 앞에 기본 메시지 펌프를 배치하여 공용 엔드포인트 역할을 합니다. 이를 통해 실제 서비스 앞에 추가 보안을 배치하고 나중에 스케일 아웃된 솔루션 또는 서비스 버전 관리 기능을 보다 쉽게 구현할 수 있습니다.

참고하십시오