通用WCF路由/转发/代理服务器

时间:2011-04-12 13:22:29

标签: wcf routing proxy

是否可以在“自适应”路由服务中创建“通用”,它不会有任何公共方法来调用。相反,您可以调用任何命令,然后将其映射到服务中,并在需要时通过简单的消息转换将其传递到适当的端点。 这可能很难理解,想法可能看起来有点疯狂(它来自我的同事),但如果你看一下这个例子就更清楚了:

WCF 4.0 Routing Service –Content Based Routing (CBR).

this article中描述的类似,唯一的区别是我们的服务不应该有“SubmitTimeSheet”公共方法,实际上它应该没有公共方法来调用。在返回“找不到方法”错误之前,我们必须在较低级别“拦截”来电。

这一切都可能吗?原因很明显:无需更改代码即可添加新客户端。我们所要做的就是在某种配置文件甚至数据库中添加新的映射条目,例如。

<Client address="newClientAddress" method="DoAnything" transformation="NewClientDoAnything.xslt" endPoint="endPointClientAddress" endPointMethod="endPointClientDoAnything" />

2 个答案:

答案 0 :(得分:2)

查看WCF 4路由 - 支持基于内容的路由,xpath转换等等。

http://blogs.msdn.com/b/routingrules/

答案 1 :(得分:0)

他们已经在Nirvana完成了这项工作。但它非常昂贵。

这在WCF中是不可能的,除非您将合同定义为一个非常宽松,适合所有合同,它接收消息并返回消息。通过这样做,你将失去WCF的所有优点(虽然在WCF中不是很好)。

相关问题