다음을 통해 공유


호출 컨텍스트 사용

이 항목은 이전 버전의 기존 응용 프로그램과의 호환성을 위해 유지되고 있으나 새로운 개발에는 권장되지 않는 레거시 기술에 대해 설명합니다. 분산 응용 프로그램은 이제 WCF(Windows Communication Foundation)를 사용하여 개발됩니다.

호출 컨텍스트를 사용하면 원격 클라이언트와 원격 개체가 정보를 매개 변수 또는 반환 값으로 명시적으로 전달하지 않고도 정보를 공유할 수 있습니다. CallContext 클래스는 serialize 가능한 것으로 표시되고 ILogicalThreadAffinative 인터페이스를 구현하는 제한 없는 수의 개체가 포함될 수 있는 사전을 제공합니다. 개체는 SetData를 호출하여 CallContext에 추가됩니다. 개체는 GetData를 호출하여 CallContext에서 검색됩니다. 개체는 응용 프로그램 실행 도중 언제라도 CallContext에 추가될 수 있습니다.

w61s16a1.note(ko-kr,VS.100).gif참고:
CallContext의 범위는 스레드에서 지정됩니다. 응용 프로그램에서 실행되는 각 스레드에 대해 별도의 CallContext 개체가 있습니다.

CallContext 개체의 사용법을 보여 주는 샘플을 보려면 원격 서비스 예제: CallContext를 참조하십시오.

CallContext 개체는 원격 호출이 수행될 때 메시지(IMessage 구현)에서 "__CallContext" 속성으로 전달됩니다. 메시지 싱크는 "__CallContext" 속성이 메시지 싱크 체인을 통해 전달될 때 해당 속성에서 개체를 추가하고 검색할 수 있습니다.

비동기 처리 및 CallContext

BeginInvoke 메서드는 CallContext를 서버로 전달합니다. EndInvoke 메서드를 호출하면 CallContext에 포함된 데이터가 BeginInvoke를 호출한 스레드로 다시 복사됩니다.

참고 항목

개념

원격 서비스 예제: CallContext

관련 자료

CallContexts 및 직접 원격 서비스
고급 원격 서비스