使用调用上下文
通过调用上下文,远程处理客户端和远程对象可以共享信息,而不用将该信息作为参数或返回值来显式传递。 CallContext 类提供了一个字典,此字典可包含任意数目的标记为可序列化的对象,并能实现 ILogicalThreadAffinative 接口。 通过调用 SetData,可向 CallContext 中添加对象。 通过调用 GetData,可从 CallContext 中检索对象。 在应用程序执行期间,可以随时向 CallContext 中添加对象。
注意: |
---|
CallContext 的范围由线程确定。 对于应用程序中运行的每个线程,都有一个单独的 CallContext 对象。 |
有关演示 CallContext 对象的用法的示例,请参见远程处理示例:CallContext。
执行远程调用时,会在消息(IMessage 实现)中将 CallContext 对象作为“__CallContext”属性传递。 当“__CallContext”属性通过消息接收器链时,消息接收器可以在该属性中添加和检索对象。
异步处理和 CallContext
BeginInvoke 方法会向服务器传递 CallContext。 调用 EndInvoke 方法时,CallContext 中包含的数据将被复制回调用了 BeginInvoke 的线程中。
请参见
概念
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。