我的一个进程中有内存泄漏(或 v.high 内存使用),我相信这可能是由于它在构造 SOAP 客户端时使用的 BasicHttpBinding 中的设置不正确/不良。
特别是我很好奇如何知道绑定上的 to 、 和 toMaxBufferSize
是MaxBufferPoolSize
什么。MaxReceivedMessageSize
是否有任何理由建议将它们从默认设置更改?
当前代码执行此操作,
var binding = new BasicHttpBinding();
binding.MaxBufferSize = 5000000; // (5,000,000)
binding.MaxBufferPoolSize = 5000000;
binding.MaxReceivedMessageSize = 5000000;
binding.ReaderQuotas.MaxStringContentLength = 500000; // (500,000)
我想我的问题是:
- 这些值是否有可能导致高内存使用或泄漏?
- 我应该/将这些更改回默认值是否安全?
.MaxReceivedMessageSize = long.MaxValue
仅设置and会有什么缺点.MaxStringContentLength = int.MaxValue
吗?
我可以确认我知道MaxStringContentLength
由于接收到一些特别长的字符串而需要从默认值增加,但是我不知道为什么将缓冲区设置为这些大小。
任何帮助表示赞赏!