2

我试图通过 WCF 接收带有 XML 的大对象。如果我设置它不起作用maxStringContentLength={Default value}

它仅在我增加时才有效,maxStringContentLength但会降低性能。

有没有不增加这个问题的解决方案maxStringContentLength

4

2 回答 2

1

这是大多数 WCF 环境的代码异味。如果您要发送大量 XML,这通常意味着您没有使用 DataContract 来发送对象。

您还注意到您想要使用流式传输。如果是这种情况,那么读者配额不应该发挥作用,因为您传递的是一个流,它将包含您的数据而根本没有数据合同。

如果您使用缓冲区,则可以增加 ReaderQuotas 的大小,但这会以内存为代价。请记住,这些缓冲区是为您可以同时处理的每个传入 WCF 调用建立的,因此您可能会遇到麻烦。

于 2011-10-18T07:20:13.510 回答
1

The short answer is no (for buffered messages). If you need to receive large string data, you need to increase the reader quotas. You should set them appropriately according to the maximum amount of data you want to allow.

于 2011-10-18T05:37:26.347 回答