WCF服务的最佳方法,用于一次处理10k请求等巨大请求。 请建议。
修改
让我说清楚,我有大约10k硬件设备通过以太网连接。现在我必须从设备进行通信。那么在WCF中处理这种情况的最佳方法是什么。
答案 0 :(得分:1)
取决于问题是什么以及内容是什么。它还取决于它是否是10k的转移(在快速连接上不应该花费很长时间)或者是否是结果的创建。
我们假设它是数据传输。
<强>压缩强>
您可以尝试启用GZip压缩(WCF Compression)以查看是否会加快速度。请注意,在进行实际压缩和解压缩时会有一些开销。
<强>流强>
不确定这是否会加快速度(WCF Streaming)。
批量抓取
如果可能的话,你可以在块中获取数据,然后在客户端启动多个线程/任务以检索不同的数据块,然后在完成所有线程后将它们全部放在一起。如果问题实际上是数据创建,这也可以加快速度。
答案 1 :(得分:0)
如果您想处理大量请求,请将数据作为请求。
为此您需要更改readerquotas。 beacuse WCF默认只有8192个字符。 所以你需要改变读者身份。
示例:
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />