【问题标题】:What is the maximum size that maxReceivedMessageSize can be set to for a NetNamedPipeBinding?可以为 NetNamedPipeBinding 设置 maxReceivedMessageSize 的最大大小是多少?
【发布时间】:2010-11-03 12:47:45
【问题描述】:

我注意到 2147483647 似乎是 maxReceivedMessageSize 的流行选择,但这是限制吗?

【问题讨论】:

  • 另一方面,您可能需要考虑将其设置为 2 GB 的消息大小意味着您的 WCF 服务器可能必须同时处理多个最大为 2 GB 的消息 - 可以吗?去做??马克
  • 如果你有一个 32 位服务器...

标签: wcf wcf-binding netnamedpipebinding


【解决方案1】:

不,限制是 Int64.MaxValue1 即:9223372036854775807

【讨论】:

  • 在 web.config 文件中,似乎只有 Int32 限制有效。可能是解析问题。
  • 当通过代码设置这个值时,我得到ArgumentOutOfRange这个参数的异常。
【解决方案2】:

basicHttpBinding 中的 MaxMessageReceivedSize 似乎是 int32 - 将其设置为 int32 的最大值会导致:

此工厂缓冲消息,因此消息大小必须在整数值范围内。 参数名称:bindingElement.MaxReceivedMessageSize

【讨论】:

【解决方案3】:

MaxReceivedMessageSizeMaxBufferSize 的值必须相同,MaxBufferSizeInt32

【讨论】:

  • 不正确 - MaxBufferSize 仅在您使用缓冲时使用。如果您使用的是 Streaming,那么它会被忽略。这就是 MaxReceivedMessageSize 是 Int64 并且可以不同于 MaxBufferSize 的原因。
  • 你的意思是 maxBufferPoolSize 和 maxReceivedMessageSize 吗?
  • BasicHttpBinding MaxBufferSize 是 Int32,但 MaxReceivedMessageSize 是 Int64。 msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 2013-04-09
  • 2010-11-26
  • 1970-01-01
  • 2021-10-10
  • 2015-12-03
  • 1970-01-01
  • 2016-04-13
  • 1970-01-01
  • 2013-02-26
相关资源
最近更新 更多