0

我必须使用 Web 服务实现 SOA 解决方案。我必须传输大型对象(例如:25~30mb 的 XML 数据的发票),我想知道最好的方法是什么......

我是不是该:

A.在几个 WS 调用中分别传输这些对象的部分(例如:首先是标题,然后是一项一项,不管它们可能有 1000 个),然后在“服务器端”中组织它们来处理重试和错误.

或者 ...

B.我是否应该在一次调用中传输整个有效负载并尝试对其进行优化(而不是“烧掉”Http 连接)?

我正在使用 .Net 的 WCF 来公开服务层。我接受推荐的阅读和注意事项。

4

1 回答 1

0

这个想法是最大化负载并最小化调用次数。这并不总是简单的,因为 - 在一次调用中 - 防火墙或 Web 服务本身可能会限制有效负载大小并且您的消息可能无法发送,或者 - 在多次调用的情况下 - 正如您自己提到的那样,您必须处理有错误和重试(基本上是在做WS-ReliableMessaging)。

因此,也许,您可以尝试更改执行相应呼叫的方式,而不是专注于通常呼叫的消息,并且可以查看带有 WCF的MTOM(消息传输优化机制),或者使用流式传输

于 2012-10-12T21:05:00.290 回答