다음을 통해 공유


PeerChannel 응용 프로그램에 사용자 지정 확인자 추가

기본적으로 PeerChannel에서는 PNRP(피어 이름 확인 프로토콜) 피어 확인자 서비스를 사용하지만, 네트워크 정책이나 구성으로 인해 사용자 지정 피어 확인자 서비스를 구현해야 하는 경우가 있습니다. 아래 단원에서는 사용자 지정 피어 확인자 서비스를 PeerChannel 응용 프로그램에 추가하는 프로세스에 대해 설명합니다.

사용자 지정 피어 확인자

사용자 지정 피어 확인자 서비스는 사전의 끝점 주소와 메시 ID를 캐시하고, 등록이나 등록 취소에 응답하며, 클라이언트의 요청을 확인하는 단일 서비스입니다. 메시 ID는 고유한 ID이어야 합니다. 여러 응용 프로그램에서 동일한 확인자를 사용하는 경우 충돌을 피하기 위해 다른 메시 ID를 선택해야 합니다.

사용자 지정 피어 확인자 만들기 및 구성

사용자 지정 피어 확인자는 지정된 CustomPeerResolverService 형식에 대해 ServiceHost를 만드는 정적 main 함수를 구현합니다. 또한 호스트는 서비스 호스트의 기본 주소를 제공하는데, 이 주소는 구성 파일(대개 App.config)의 응용 프로그램 설정에 구성됩니다.

<appSettings>
    <!-- use appSetting to configure base address provided by host -->
    <add key="baseAddress"
     value=" net.tcp://localhost/servicemodelsamples/peerResolverService" />
</appSettings>

사용자 지정 피어 확인자 서비스에서는 RegisterMeshId, UnregisterMeshId 및 ResolveMeshId 작업이 노출되는 ICustomPeerResolver 계약을 구현합니다. 클라이언트에서 지정된 작업을 동기적으로 요청하면 서비스에서 결과로 회신합니다.

서비스에서는 구성 파일로 정의된 서비스와 통신하기 위한 단일 끝점을 노출합니다. 바인딩은 TCP 통신을 제공하는 표준 NetTcpBinding으로 구성됩니다.

<services>
    <service 
       service="Microsoft.ServiceModel.Samples. CustomPeerResolverService">
       <!-- use base address provided by the host -->
       <endpoint address=""
            binding=" netTcpBinding "
             contract="Microsoft.ServiceModel.Samples. ICustomPeerResolver" />
    </service>
</services>

원격 시스템의 클라이언트가 서비스에 액세스하려면 localhost 대신 정규화된 도메인 이름을 지정해야 합니다.

그리고 사용자 지정 확인자를 사용하는 클라이언트는 피어 확인자 서비스로 등록을 새로 고치기 위해 클라이언트 서버 간 지연에 대해 일정한 상한을 두어야 합니다.

참고 항목

개념

PeerChannel 확장

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.