最近整理一个Remoting项目, 需要识别客户端。最先想到的是WCF的MessageHeader,WebService的SoapHeader,抑或是通过消息拦截能够加入额外的信息。 调查了下发现 Remoting 实现消息拦截还比较麻烦(需要实现RealProxy等,详细看这里:http://www.cnblogs.com/idior/articles/872380.html)。 好在 Remoting 里还有个东东叫 CallContext 的东东可以封送额外的信息,调用上下文在应用程序域边界被克隆,其数据槽不在其他逻辑线程上的调用上下文之间共享。 当然放入 CallContext 的数据需要实现 ILogicalThreadAffinative 接口。
Identity.cs
服务端实现
客户端调用
启动两个客户端调用:
服务端通过 CallContext.GetData 取到了客户端的标识ID。通过这种方法,还可以实现用户名密码的验证。
Remoting CallContext 实现客户端识别
最新推荐文章于 2025-07-03 11:37:23 发布
本文介绍了一种利用.NET Remoting中的CallContext特性来识别客户端的方法。通过将客户端标识存储在CallContext中,服务端可以在接收请求时读取这些信息,从而实现客户端身份验证。此外,还提供了实现这一功能的具体代码示例。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印


514

被折叠的 条评论
为什么被折叠?



