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,但仍然显示"The maximum message size quota for incoming messages (65536) has been exceeded."异常。我错过了什么吗?

4

3 回答 3

6

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

于 2013-08-25T15:34:11.030 回答
2

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

于 2013-08-25T15:34:59.547 回答
1

这里:-

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

于 2013-08-25T15:34:50.933 回答