拦截针对具有本地WCF服务的另一台计算机的调用

时间:2011-04-13 19:30:59

标签: wcf

我对WCF很新,所以这可能是一个愚蠢的问题,但我想知道是否有办法配置WCF服务,以便它“拦截”针对另一台机器的调用。基本上我想在MachineA上执行一次调用(通过浏览器),如:“http:// MachineB / MyService”实际上在MachineA上处理(假设我的服务在MachineA上运行)。

想法是,如果用户安装了该服务,则呼叫“落到”MachineB,他们将能够安装它。但是,一旦安装完成,MachineA就会捕获所有这些后续调用并处理它们。

我完全可以看到这是不可行的(没有,比方说,黑客机器主机文件),但我希望可能有一些我不知道的WCF魔法可以启用这种情况?

2 个答案:

答案 0 :(得分:2)

这听起来像是WCF RoutingService described in this article.的一个用例,它是WCF的一部分,所以除非你想添加自定义行为,否则你只需要创建&部署配置文件。我们添加了一个自定义日志记录行为,以便与现有的日志记录基础结构进行交互,以便对潜在的通信问题进行故障排除,但如果您依赖于WCF跟踪,则甚至不需要它。

答案 1 :(得分:0)

Sixto的路由解决方案更优雅,但如果你使用的是4.0之前的框架版本,客户端或调度端的消息检查员,甚至是调度端的错误处理程序,可能会“拉伸”解决方案(他们会完成jbo,但不是理想的方式)。请参阅此extremely long articlethis article,其中涉及消息检查器和错误处理程序;这是一个很好的起点,可以确定这些选项对你有用。