다음을 통해 공유


비동기 원격 서비스

원격 시나리오의 비동기 프로그래밍은 .NET Remoting 자체의 구성과 요구 사항을 제외하고 단일 응용 프로그램 도메인 또는 컨텍스트의 비동기 프로그래밍과 동일합니다. .NET Remoting과 동기 및 비동기 대리자를 사용한 전체 샘플은 원격 서비스 예제: 비동기 원격 서비스를 참조하십시오.

단일 응용 프로그램 도메인의 비동기 프로그래밍과 마찬가지로 .NET Remoting 시나리오에서 비동기 프로그래밍을 사용하는 경우 다음과 같은 특징이 있습니다.

  • 호출자가 특정 원격 호출이 비동기인지 여부를 결정합니다.

  • 원격 형식이 클라이언트의 비동기 동작을 명시적으로 지원하지 않아도 됩니다.

  • 런타임이 전체 형식 안전을 적용합니다.

  • System.Threading 개체를 적절하게 사용하여 메서드를 기다리거나 동기화해야 합니다.

그러나 응용 프로그램 도메인 또는 컨텍스트 경계를 넘어 호출하는 응용 프로그램에서 .NET Remoting을 사용하려면 서버에서 원격 호출을 받을 수 있도록 클라이언트 응용 프로그램을 구성해야 합니다. 이렇게 하려면 클라이언트 채널에 포트 "0"을 지정하면 됩니다. 이 요구 사항의 이유는 비동기 호출이 수행된 후 서버가 클라이언트를 콜백할 수 있도록 하지 않으면 호출을 검색할 방법이 없기 때문입니다.

클라이언트는 MarshalByRefObject를 확장하거나 원격 형식 자체를 구성할 필요가 없지만 그 외에는 서버로 사용할 원격 형식과 동일한 규칙을 따라야 합니다.

  • 콜백 메서드는 인스턴스 메서드여야 합니다. 정적 메서드 호출은 원격이 아닙니다.

  • 콜백 함수를 수신 대기하려면 채널을 등록해야 합니다.

참고 항목

작업

방법: 비동기적으로 원격 개체 메서드 호출

개념

원격 개체 메서드 비동기 호출과 관련된 문제
원격 서비스 예제: 비동기 원격 서비스
원격 응용 프로그램 구성

기타 리소스

.NET Framework Remoting 개요

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.