调用上下文(CallContext)提供了用于存储属性集的数据槽,可以让我们在调用服务器方法时将一些额外数据一并传送过去。当然,这些额外数据有点限制,就是必须要实现 ILogicalThreadAffinative 接口。调用上下文在应用程序域边界被克隆,其数据槽不在其他逻辑线程上的调用上下文之间共享。 我们利用这个特性写一个简单的身份验证例子。 using System; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Threading; using System.Security.Permissions; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.CompilerServices; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp; using System.Runtime.Remoting.Messaging; using System.Runtime.Remoting.Lifetime; using System.Runtime.Remoting.Services; namespace Learn.Library.Remoting