2009-02-20 102 views
1

我有一个由WCF节点组成的N层结构。我需要偶尔将非常大量的数据从终端节点传递到顶级节点,并且我希望避免在中间跳跃期间对非常大的数据字段进行反序列化。由于我们的策略失败,我无法直接进入顶端。有什么办法可以避免反序列化我的领域?感谢您的任何帮助WCF传递

回答

2

也许你可以做一些[OnDeserializing]事件?

请参阅this

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

我不确定你是否可以完全短路反序列化虽然...我从来没有尝试过。

1

我觉得特里在正确的轨道上。我会查看该事件,并通过使用消息合约,您应该能够标记您想要通过的消息部分。您可能需要执行一些消息操作(拆开传入的消息,创建一个“自定义”传出消息),但您应该能够继续查看消息而不被查看。

做一个搜索WS-Addressing;它可能会为此提供一种模式。

0

我想知道您的故障转移策略是否适合“捕捉链接”这类事情。您将对中间节点进行初始呼叫,最终将其转发给终端节点。终端节点将响应初始节点直接连接所需的信息。

通过这种方式,负载平衡或故障转移可以确定应使用哪个终端节点,但在确定之后,可能会发生直接连接。当然,您希望限制直接连接的持续时间以允许故障转移策略随着时间的推移而改变主意。