English 中文(简体)
在WCF中,对于大型消息,应该设置较大的MaxBufferPoolSize值吗?
原标题:
  • 时间:2008-11-28 08:25:21
  •  标签:

对于我开发的这个WCF服务,我必须将MaxReceivedMessageSize设置为5MB。我目前的问题是确定是否更好地将MaxBufferPoolSize值设置为较大的5MB,还是保留原始的512KB值。

Does anyone knows what is the recommended setting for this scenario?
In short, should I set MaxBufferPoolSize = 5242880 (5MB), or MaxBufferPoolSize = 524288 (512KB)?

更新:为澄清起见,该服务旨在插入一个新的客户记录以及一些扫描的文档。因此,消息大小可能会达到5MB。

我们可以尝试使用其他技术来分离扫描文档的上传,但要求是客户记录和扫描文档必须在同一事务中,因此我们决定采用这种方法,直到我们找出如何使用WCF的事务功能。

最佳回答

Check out this article. http://kennyw.com/?p=51

建议在处理大型消息时将MaxBufferPoolSize设置为零,以避免缓冲。

问题回答

将大量数据传输到基于WCF的服务完全可以,但是您应该查找支持流式传输而不是缓冲传输(BasicHttpBinding或CustomBinding)的绑定,以便每个服务实例不会占用太多内存。

larsw:拉尔斯维

如果您想要传输文件或其他数据,这似乎是您唯一的选择。否则,我会仔细审查为什么会在首次使用该服务时发送如此大量的数据。如果是文件等数据,您只需接受其大规模数据量和可能的影响。另外,如果您正在传输文件等数据,则最好尝试使用FTP组件或类似的工具。

我可以稍微详细阐述一下,提供更多信息。我稍后会再来看看您是否有关于问题的补充。





相关问题
热门标签