4

搜索没有运气...

我不断得到

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

这是有道理的,所以我进入服务器和客户端配置并进行更改:

客户

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IFileUpload"
           closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transferMode="Streamed" messageEncoding="Text" maxBufferSize="65536" maxReceivedMessageSize="67108864">
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost/services/FileUpload.svc"
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileUpload"
          contract="CFTW.FileUpload.IFileUpload" name="BasicHttpBinding_IFileUpload" />
    </client>
  </system.serviceModel>

服务器

    <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IFileUpload"

                 transferMode="Streamed" messageEncoding="Text" maxBufferSize="67108864" maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864">

        </binding>
      </basicHttpBinding>

    </bindings>
    <services>
      <service name="BasicHttpBinding_IFileUpload">
        <endpoint address="~/services/FileUpload.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileUpload"
            contract="CFTW.FileUpload.IFileUpload"></endpoint>
      </service>

    </services>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

我不确定为什么它不起作用(否则我会修复它:))。它在 .NET 4.0 RC 上运行。

4

3 回答 3

3

我刚遇到这个问题。我发现我的自定义绑定根本没有得到应用。然后我name = ""在绑定标签中使用。然后一切都开始使用新设置。这是由于 .NET 4.0 带有默认的绑定/端点/行为配置。这些默认设置具有name = "". 我刚刚修改了默认绑定本身。未应用我的自定义绑定(命名)的原因是<service>标签中名称的值。它应该遵循<Namespace.ServiceClassName>

于 2012-10-16T21:57:02.233 回答
2

您需要maxReceivedMessageSize在客户端配置中为绑定增加属性。此外,请务必为maxBufferSize. 对于缓冲连接,这两个值必须相同。

于 2011-08-24T09:09:14.400 回答
0

有同样的问题,幸运的是在第二个项目中,可以与工作项目进行比较。不同之处在于工作项目在 web.config 中为服务绑定设置了其他属性......

工作示例:httpsTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"

第二个项目只有:httpsTransport

还要在您的项目中搜索 65536,因为它也在服务参考的 configuration.svcinfo 和 configuration91.svcinfo 中定义。

于 2015-12-03T13:55:30.293 回答