app.config中的maxReceivedMessageSize和maxBufferSize

时间:2013-02-21 10:21:06

标签: c# .net winforms wcf service-model

如何在运行应用程序之前将app.config文件中的maxReceivedMessageSize和maxBufferSize参数增加到2000000。

7 个答案:

答案 0 :(得分:58)

您需要在绑定上执行此操作,但您需要在 客户端服务器上执行此操作。类似的东西:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding maxBufferSize="64000000" maxReceivedMessageSize="64000000" />
        </basicHttpBinding>
    </bindings>
</system.serviceModel>

答案 1 :(得分:13)

您可以在app.config中执行此操作。那样:

maxReceivedMessageSize="2147483647" 

(最大值为Int32.MaxValue

或代码:

WSHttpBinding binding = new WSHttpBinding();
binding.Name = "MyBinding";
binding.MaxReceivedMessageSize = Int32.MaxValue;

注意:

如果您的服务对Wide Wide开放,请在增加此值时考虑安全性。

答案 2 :(得分:10)

目前接受的答案不正确。在客户端和服务器绑定上设置maxBufferSizemaxReceivedMessageSize需要 NOT 。这取决于!

如果您的请求太大(即服务操作的方法参数是内存密集型的),请在服务器端设置属性,如果响应太大(即,服务操作的方法返回值是内存)密集)在客户端设置值。

对于maxBufferSizemaxReceivedMessageSize之间的差异,请参阅MaxBufferSize property?

答案 3 :(得分:0)

简单的解决方案:检查它是否适合您..

转到web.config

查找客户端使用的绑定。

改为,

maxBufferSize =“2147483647”maxReceivedMessageSize =“2147483647”

完成。

答案 4 :(得分:0)

 1. Web Services
 2. Windows Services
 3. Scheduled Tasks
客户端和服务器端的

答案 5 :(得分:0)

如果您使用的是自定义绑定,则可以设置如下值:

<customBinding>
    <binding name="x">
        <httpsTransport maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
    </binding>
</customBinding>

答案 6 :(得分:0)

在客户端打开app.config并添加maxBufferSize和maxReceivedMessageSize属性(如果不可用)

<强>原始

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="Service1Soap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
      </basicHttpBinding>
    </bindings>

编辑/更新后

{{1}}