호출 컨텍스트 사용
호출 컨텍스트를 사용하면 원격 클라이언트와 원격 개체가 정보를 매개 변수 또는 반환 값으로 명시적으로 전달하지 않고도 정보를 공유할 수 있습니다. CallContext 클래스는 serialize 가능한 것으로 표시되고 ILogicalThreadAffinative 인터페이스를 구현하는 제한 없는 수의 개체가 포함될 수 있는 사전을 제공합니다. 개체는 SetData를 호출하여 CallContext에 추가됩니다. 개체는 GetData를 호출하여 CallContext에서 검색됩니다. 개체는 응용 프로그램 실행 도중 언제라도 CallContext에 추가될 수 있습니다.
![]() |
---|
CallContext의 범위는 스레드에서 지정됩니다. 응용 프로그램에서 실행되는 각 스레드에 대해 별도의 CallContext 개체가 있습니다. |
CallContext 개체의 사용법을 보여 주는 샘플을 보려면 원격 서비스 예제: CallContext를 참조하십시오.
CallContext 개체는 원격 호출이 수행될 때 메시지(IMessage 구현)에서 "__CallContext" 속성으로 전달됩니다. 메시지 싱크는 "__CallContext" 속성이 메시지 싱크 체인을 통해 전달될 때 해당 속성에서 개체를 추가하고 검색할 수 있습니다.
비동기 처리 및 CallContext
BeginInvoke 메서드는 CallContext를 서버로 전달합니다. EndInvoke 메서드를 호출하면 CallContext에 포함된 데이터가 BeginInvoke를 호출한 스레드로 다시 복사됩니다.
참고 항목
개념
기타 리소스
CallContexts 및 직접 원격 서비스
고급 원격 서비스
Copyright © 2007 by Microsoft Corporation. All rights reserved.