wcf 3.0服务合同方法返回的数据量会导致错误

时间:2010-05-16 18:21:02

标签: wcf c#-2.0

CommuncationException未处理

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

这是我的svc.map文件

<?xml version="1.0" encoding="utf-8"?>
<ServiceReference>
    <ProxyGenerationParameters
        ServiceReferenceUri="http://d3w9501/SimpleWCF/SimpleWCF.svc"
        Name="svc"
        NotifyPropertyChange="False"
        UseObservableCollection="False">
    </ProxyGenerationParameters>
    <EndPoints>
        <EndPoint
            Address="http://d3w9501.americas.hpqcorp.net/SimpleWCF/SimpleWCF.svc"
            BindingConfiguration="BasicHttpBinding_ISimpleWCF"
            Contract="TestSimpleWCF.svc.ISimpleWCF"
            >
        </EndPoint>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_ISimpleWCF" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"  >
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>    
    </EndPoints>
</ServiceReference>

2 个答案:

答案 0 :(得分:2)

svc.map文件并没有多大帮助 - 我们需要看到的是能够提供帮助的是客户端 app.config 文件 - 这是真正令人骄傲的文件。 / p>

另外:您需要在app.config中更改客户端值 - 而不是在svc.map中 - 以对正在运行的应用程序产生任何影响。检查这些值是否仍然是app.config中的默认值64K - 如果是,请在那里更改它们!

答案 1 :(得分:0)

找到app.config文件。 将maxBufferSize和maxReceivedMessageSize从65536更改为2147483647 来自控制台客户端的消息现在消失了。

非常感谢你。