传入消息的最大消息大小配额(65536)已超过。即使设置了更大的大小,仍然如此。

6

我正在尝试从Windows窗体客户端应用程序访问一个WCF服务。我的服务器绑定配置如下:

 <bindings>
      <customBinding>
        <binding name="Wrabind" closeTimeout="00:05:00" openTimeout="00:05:00"
            sendTimeout="00:25:00">
          <textMessageEncoding />
          <security authenticationMode="SecureConversation" includeTimestamp="true"
              messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
            <localClientSettings maxClockSkew="00:30:00" />
            <localServiceSettings maxClockSkew="00:30:00" />
            <secureConversationBootstrap messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
              <localClientSettings maxClockSkew="00:30:00" />
              <localServiceSettings maxClockSkew="00:30:00" />
            </secureConversationBootstrap>
          </security>
          <httpTransport maxBufferPoolSize="20000000" maxReceivedMessageSize="20000000"
              allowCookies="true" maxBufferSize="20000000" />
        </binding>
      </customBinding>
    </bindings>

您可以看到我已经将maxReceivedMessageSize设置为20000000,但它仍然显示"已超过传入消息的最大消息大小配额(65536)." 异常。 我错过了什么吗?

3个回答

6
也许这个错误是来自客户端而不是服务器。请确保客户端配置中存在相同的设置。

当我通过WcfTestClient单独调试服务时,我遇到了相同的错误。我已经在我的绑定中增加了大小。你能告诉我一个解决方法吗?我已经在http://stackoverflow.com/questions/22934530/two-endpoint-with-two-binding-configuration-for-a-service上发布了我的问题。请帮帮我。 - Programmer

2

在这种情况下,WCF 服务器端设置不相关。 客户端绑定配置是你的敌人...


连同“WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10”一起?真的吗? - KristoferA

1

这里开始:

你可能还需要添加"binding.MaxBufferSize = 2147483647"。一旦更新或重新配置服务引用,"ServiceReferences.ClientConfig"将自动更新。因此,如果您在WCF服务库的"App.config"中提供了正确的绑定配置,则该配置将自动继承到使用Silverlight客户端。但是,如果您在代码中动态创建绑定,所有这些都不会生效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接