WCF Passthrough

时间:2009-02-20 17:16:10

标签: c# wcf serialization

我有一个由WCF节点组成的N层结构。我需要偶尔将非常大量的数据从终端节点传递到顶层节点,我希望避免在中间跃点期间反序列化非常大的数据字段。由于我们的战略失败,我无法直接进入顶峰。有没有办法避免反序列化我的字段?谢谢你的帮助

3 个答案:

答案 0 :(得分:2)

也许你可以用[OnDeserializing]事件做点什么?

请参阅this

此外,Juval Lowy在第3章第107-110页的“Programming WCF Services”(第2版)中介绍了序列化事件。

我不确定你是否可以完全缩短反序列化...我从未尝试过。

答案 1 :(得分:1)

我认为特里走在正确的轨道上。我会查看该事件,并使用消息合同,您应该能够标记您想要传递的消息部分。您可能需要进行一些消息操作(撕开传入的消息,创建“自定义”传出消息),但您应该能够在不查看的情况下继续传递消息。

搜索WS-Addressing;它可能提供了这样做的模式。

答案 2 :(得分:0)

我想知道你的故障转移策略是否适合“攫取链接”这类事情。您将初始调用中间节点,最终将其转发到终端节点。终端节点将使用初始节点直接连接到它所需的信息进行响应。

这样,负载平衡或故障转移可以确定应该使用哪个终端节点,但是在做出确定之后,可以进行直接连接。当然,您希望限制直接连接的持续时间,以允许故障转移策略随时间改变主意。