none
The maximum message size quota for incoming messages (65536) has been exceeded RRS feed

  • 问题

  • 我已经将配置文件改成如下形式,但是始终不生效,哪位高人能帮我看看么?

    <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="useCustomAuthorization">
              <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
              <serviceMetadata httpGetEnabled="true"/>
              <serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/>
              <dataContractSerializer maxItemsInObjectGraph="6553600"/>
              <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
              <serviceAuthorization principalPermissionMode="Custom" serviceAuthorizationManagerType="MyWCFApplication.WCFService.SimpleServiceAuthorizationManager, MyWCFApplication.WCFService">

              </serviceAuthorization>
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <bindings>
          <ws2007HttpBinding>
            <binding name="ws2007HttpBinding0" closeTimeout="00:02:00" openTimeout="00:02:00"
                receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="6553600">
              <readerQuotas maxStringContentLength="6553600" />
            </binding>
          </ws2007HttpBinding>
          <basicHttpBinding>
            <binding name="Binding0" closeTimeout="00:02:00" openTimeout="00:02:00"
                receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="6553600">
              <readerQuotas maxStringContentLength="6553600" />
            </binding>
          </basicHttpBinding>
        </bindings>
        <services>
          <service behaviorConfiguration="useCustomAuthorization" name="MyWCFApplication.WCFService.MyService">
            <endpoint address="http://localhost:8086/MyService.svc"
                      binding="basicHttpBinding"
                      name="MyEndPoint"
                      bindingConfiguration="Binding0" 
                      contract="MyWCFApplication.WCFService.IMyService" />
           
          </service>
        </services>
        <!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />-->
      </system.serviceModel>

    Client 端得到的配置文件如下:

    <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="MyEndPoint" closeTimeout="00:01:00" openTimeout="00:01:00"
                        receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                        bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <security mode="None">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>
                    </binding>
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost:8086/MyService.svc" binding="basicHttpBinding"
                    bindingConfiguration="MyEndPoint" contract="Svc.IMyService"
                    name="MyEndPoint" />
            </client>
        </system.serviceModel>


    • 已编辑 Leo Ouyang 2012年2月9日 5:34 需要加粗
    2012年2月9日 5:32

答案

  • 看到你Client端的配置了吗

                  bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 这里
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"?

    Server的配置里,没有对应的设置,你要把服务端<basicHttpBinding>的配置的

    客户端和服务端数据一致。


    Frank Xu Lei--谦卑若愚,好学若饥
    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    • 已标记为答案 Leo Ouyang 2012年2月13日 2:16
    2012年2月9日 7:54
    版主
  • 不好意思,我还是没弄明白。

    我在Server已经设置好了maxReceivedMessageSize, maxStringContentLength还有那些 timeout,但是我在 client 端 Update Service Reference后, 并没有获取到和 Server一样的设置。这是因为我的 Server 端没设置好呢?还是说 Client 端不会自动更新,需要用户手动去更改?

    <binding name="Binding0" closeTimeout="00:02:00" openTimeout="00:02:00"
                receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="6553600">
              <readerQuotas maxStringContentLength="6553600" />
    </binding>    


    Visual Studio 没这么智能,还不能完全把服务端的设置全部更新到客户端,有些配置就使用的是默认的,所以你需要手动修改一次啦

    Frank Xu Lei--谦卑若愚,好学若饥
    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    • 已标记为答案 Leo Ouyang 2012年2月13日 2:16
    2012年2月10日 8:28
    版主

全部回复

  • 看到你Client端的配置了吗

                  bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 这里
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"?

    Server的配置里,没有对应的设置,你要把服务端<basicHttpBinding>的配置的

    客户端和服务端数据一致。


    Frank Xu Lei--谦卑若愚,好学若饥
    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    • 已标记为答案 Leo Ouyang 2012年2月13日 2:16
    2012年2月9日 7:54
    版主
  • 不好意思,我还是没弄明白。

    我在Server已经设置好了maxReceivedMessageSize, maxStringContentLength还有那些 timeout,但是我在 client 端 Update Service Reference后, 并没有获取到和 Server一样的设置。这是因为我的 Server 端没设置好呢?还是说 Client 端不会自动更新,需要用户手动去更改?

    <binding name="Binding0" closeTimeout="00:02:00" openTimeout="00:02:00"
                receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="6553600">
              <readerQuotas maxStringContentLength="6553600" />
    </binding>    

    2012年2月9日 10:06
  • 不好意思,我还是没弄明白。

    我在Server已经设置好了maxReceivedMessageSize, maxStringContentLength还有那些 timeout,但是我在 client 端 Update Service Reference后, 并没有获取到和 Server一样的设置。这是因为我的 Server 端没设置好呢?还是说 Client 端不会自动更新,需要用户手动去更改?

    <binding name="Binding0" closeTimeout="00:02:00" openTimeout="00:02:00"
                receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="6553600">
              <readerQuotas maxStringContentLength="6553600" />
    </binding>    


    Visual Studio 没这么智能,还不能完全把服务端的设置全部更新到客户端,有些配置就使用的是默认的,所以你需要手动修改一次啦

    Frank Xu Lei--谦卑若愚,好学若饥
    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    • 已标记为答案 Leo Ouyang 2012年2月13日 2:16
    2012年2月10日 8:28
    版主
  • 非常感谢~~

    2012年2月13日 2:16