首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将服务“绑定”到.NET远程处理服务器中的特定通道?

如何将服务“绑定”到.NET远程处理服务器中的特定通道?
EN

Stack Overflow用户
提问于 2008-10-24 15:41:44
回答 2查看 1.5K关注 0票数 3

我有一个复杂的.NET远程处理服务器应用程序,它提供了几个服务。客户端当前可以使用tcp和http通道连接到服务器。

现在,我需要实现一些新的管理服务,但我想将它们的可用性限制在本地计算机上,即,我想创建一个可以使用这些新服务的管理工具,但我不希望敏感数据以物理方式离开服务器,因此我需要限制在同一台服务器计算机上运行管理工具。

我考虑添加新服务,并向服务器注册ipc通道,以供管理工具使用。现在问题来了:如何阻止远程客户端使用tcp或http通道连接到这些新的管理服务?我是否可以在app.config (或使用远程处理基础设施类)中说“注册服务x,由程序集A中的类C实现,只能通过ipc使用”,“注册服务y,由程序集A中的类D实现,通过tcp/http使用”?

让我困惑的是“只能通过ipc使用”这一点。(不,移植到WCF现在不是一个选择。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-24 16:00:37

RegisterWellKnownServiceType没有允许您指定在哪个通道上注册的重载,IPCServerChannel上也没有任何用于注册服务的方法,因此这些方法都不起作用。

我能想到的最好的办法就是编写一个ChannelSink来过滤您的消息或提供安全性。可以将这些添加到您的TcpChannel和HttpChannel的构造函数中,以过滤出仅限管理员的调用。

票数 3
EN

Stack Overflow用户

发布于 2008-10-24 15:49:42

获取调用它的服务的IPAddress。如果不是127.0.0.1,则拒绝调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/234067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档