【问题标题】:Error when added Service Reference to website向网站添加服务参考时出错
【发布时间】:2009-12-30 06:14:12
【问题描述】:

向我的网站添加服务引用时出现以下运行时错误。

最大邮件大小配额 传入消息 (65536) 已 超过。要增加配额,请使用 MaxReceivedMessageSize 属性 适当的绑定元素。

传输消息时应该没有限制。那么,我怎样才能给出最大消息大小? Wat是我能提供的最大尺寸吗??

以下是代码:

<httpTransport manualAddressing="false" maxBufferPoolSize="524288"
      maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
      bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
      keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
      realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
      useDefaultWebProxy="true" />

【问题讨论】:

    标签: c# asp.net web-services


    【解决方案1】:

    我认为使用最大缓冲区和消息大小进行传输不是一个好主意,因为如果您的消息大小不固定,您总是可以超出它们。我建议您将消息大小固定为 4K 或 8K 并以块的形式发送数据(如果要传输大量 连续 数据)。如果您的消息有多行,从 200 到 500 个字符不等,那么您可以固定一次要传输的数据行数。

    一个这样的示例可以是每秒处理数千个连接的 Windows 服务和显示服务处理的每条消息的状态的监视器应用程序。

    【讨论】:

    • 你尝试了什么?您当前的邮件大小是多少?确保您使用的是正确的绑定。
    • "这个工厂缓冲消息,所以消息的大小必须在整数值的范围内。参数名称:bindingElement.MaxReceivedMessageSize" 这是我给那个参数 maxBufferSize= 的最大大小时发生的错误"999999999" maxBufferPoolSize="524288" maxReceivedMessageSize="9223372036854775807"
    【解决方案2】:

    增加maxBufferSize="65536"maxReceivedMessageSize="65536" 以允许您的消息最长。

    感兴趣的:Addressing MaxReceivedMessageSize issues

    【讨论】:

    • 不,只是将您的消息和缓冲区大小提高到您所期望的大小。消息大小限制为 Int64.MaxValue 或 9,223,372,036,854,775,807。通常,如果您要抽取大量数据,则需要考虑分块流式传输。
    【解决方案3】:

    我无法给出最大尺寸。我可以给出 819222 的尺寸。它现在对我有用..

    【讨论】:

      猜你喜欢
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2011-10-29
      • 1970-01-01
      相关资源
      最近更新 更多