1
我现在有能够通过不同的方式来访问的.Net远程服务:.Net远程处理:在服务中知道该通话是在本地还是远程进行的?
- 局部通过IPC信道
- 远程通过TCP信道
- 局部通过TCP信道
我需要知道,在我的一种服务方法中,如果调用是在本地或远程进行的(取决于许可证,我必须远程发送较小的数据)。
我找不到找到此方法的方法。
我已经定制了IServerChannelSink
,我认为我可以检测到这种调用使用哪种类型的通道,如果它是TCP,请检查它是IP,但我找不到。
你对如何检查我们是否有本地电话有任何想法吗?
感谢您的帮助
是的,但在本地IPC频道的情况下,如何知道我们处于IPC频道的情况? – J4N 2013-04-24 19:35:42
@ J4N如果使用IPC通道,那么'CallContext.GetData(“ClientIPAddress”)'将返回null。 – 2013-04-25 12:21:26
是的,正确的(实际上它是'requestHeaders [CommonTransportKeys.IPAddress]'为空,但我明白了,我可以这样管理,谢谢! – J4N 2013-04-25 12:46:00