다음을 통해 공유


MSMQ를 RPC 전송으로 사용

RPC 하위 시스템은 동기 및 비동기 모드에서 MSMQ를 전송으로 사용할 수 있습니다.

동기 모드는 기존의 원격 프로시저 호출을 사용합니다. 이러한 호출은 잘 알려진 엔드포인트와 ncadg_mq 메시지 큐 전송을 전송 프로토콜로 사용합니다. 동기 모드에서 원격 프로시저에는 [ in] 및 [ out] 매개 변수가 있을 수 있으며 표준 RPC 보안 서비스를 사용할 수 있습니다. RPC 하위 시스템은 [out] 매개 변수를 포함하는 원격 호출에 대한 회신 큐를 만듭니다. 동기 모드는 클라이언트가 서버에서 데이터를 수신해야 하는 애플리케이션에 유용합니다. 이 모드의 기본 제한 사항은 기존의 원격 프로시저 호출과 마찬가지로 클라이언트와 서버가 모두 실행 중이고 호출 기간 동안 계속 실행되어야 한다는 것입니다.

비동기 모드를 사용하면 클라이언트 애플리케이션이 서버 애플리케이션 또는 서버 컴퓨터의 상태에 관계없이 서버를 호출하고 즉시 반환할 수 있습니다. 또한 메시지 큐 및 정보 흐름을 관리하는 데 사용할 수 있는 MSMQ 기능의 하위 집합을 만듭니다. RpcBindingSetOption 함수를 사용하면 서비스 품질, 호출 우선 순위, 저널링, 보안 및 서버 프로세스 큐의 수명을 제어할 수 있습니다. RpcServerUseProtseqEpEx 함수를 사용하면 큐 지속성, 인증 및 암호화와 같은 서버 프로세스 큐의 특성을 지정할 수 있습니다.

동기 MSMQ와 마찬가지로 비동기 MSMQ를 구현합니다. 잘 알려진 엔드포인트를 사용하고 ncadg_mq 전송 프로토콜을 정의해야 합니다. IDL 파일에서 비동기 메시지 큐를 사용하는 함수에 메시지 특성을 적용합니다. 메시지 함수에는 매개 변수만 있을 수 있습니다.