Wcf 错误:传入邮件的最大邮件大小配额

Wcf 错误:传入邮件的最大邮件大小配额,wcf,wcf-binding,Wcf,Wcf Binding,已超过传入邮件的最大邮件大小配额(65536)。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。 我在代理中提到了价值。我是否需要在服务器端wcfweb.Config中提及。如果是,那么我可以知道怎么做吗 下面提到了我的wcfweb.Config <binding name="NewBinding0" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sen

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

我在代理中提到了价值。我是否需要在服务器端wcfweb.Config中提及。如果是,那么我可以知道怎么做吗

下面提到了我的wcfweb.Config

<binding name="NewBinding0" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxReceivedMessageSize="20000000">                
  <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
  <reliableSession enabled="true" />
    <security mode="None">
      <transport clientCredentialType="None" />
      <message clientCredentialType="Windows" negotiateServiceCredential="true" establishSecurityContext="false" />
    </security>
  </binding>

我的客户端编码

WSHttpBinding binding = new WSHttpBinding();
//binding.ReaderQuotas.MaxArrayLength = 10485760;
//binding.MaxReceivedMessageSize = 10485760;
binding.Security.Mode = SecurityMode.None;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
binding.Security.Message.EstablishSecurityContext = false;
//binding.Security.Message.NegotiateServiceCredential = true;
binding.ReliableSession.Enabled = true;
binding.ReaderQuotas.MaxArrayLength = 2147483647;
binding.ReaderQuotas.MaxDepth = 2147483647;
binding.ReaderQuotas.MaxNameTableCharCount = 2147483647;
binding.ReaderQuotas.MaxBytesPerRead = 2147483647;
binding.MaxReceivedMessageSize = 20000000;
binding.ReaderQuotas.MaxStringContentLength = 2147483647;
binding.SendTimeout = TimeSpan.FromMinutes(10);
binding.CloseTimeout = TimeSpan.FromMinutes(10);
binding.OpenTimeout = TimeSpan.FromMinutes(10);
binding.ReceiveTimeout = TimeSpan.FromMinutes(10);
//EndpointIdentity.CreateUpnIdentity("user@domain");
ChannelFactory<IDBSyncContract> factory = new ChannelFactory<IDBSyncContract>(binding, new EndpointAddress(endPointURL));
dbProxy = factory.CreateChannel();
this.dbProxy = dbProxy as IDBSyncContract;
WSHttpBinding=newwshttpbinding();
//binding.ReaderQuotas.MaxArrayLength=10485760;
//binding.MaxReceivedMessageSize=10485760;
binding.Security.Mode=SecurityMode.None;
binding.Security.Transport.ClientCredentialType=HttpClientCredentialType.None;
binding.Security.Message.ClientCredentialType=MessageCredentialType.Windows;
binding.Security.Message.EstablishSecurityContext=false;
//binding.Security.Message.NegotiateServiceCredential=true;
binding.ReliableSession.Enabled=true;
binding.ReaderQuotas.MaxArrayLength=2147483647;
binding.ReaderQuotas.MaxDepth=2147483647;
binding.ReaderQuotas.MaxNameTableCharCount=2147483647;
binding.ReaderQuotas.MaxBytesPerRead=2147483647;
binding.MaxReceivedMessageSize=20000000;
binding.ReaderQuotas.MaxStringContentLength=2147483647;
binding.SendTimeout=TimeSpan.FromMinutes(10);
binding.CloseTimeout=TimeSpan.FromMinutes(10);
binding.OpenTimeout=TimeSpan.frommins(10);
binding.ReceiveTimeout=TimeSpan.FromMinutes(10);
//EndpointIdentity.CreateUpnIdentity(“user@domain");
ChannelFactory工厂=新的ChannelFactory(绑定,新的端点地址(端点URL));
dbProxy=factory.CreateChannel();
this.dbProxy=dbProxy作为IDBSyncContract;

客户端向服务器发送消息时是否发生错误?如果是,请检查以确保在服务器的配置文件中端点引用了您创建的绑定:

<endpoint address="" binding="wsHttpBinding" 
 bindingConfiguration="NewBinding0" contract="IDBSyncContract" />

你提到我的服务器端Web.Config了吗?我不知道如何在服务器端提到maxReceivedMessageSize属性。该属性的确切位置是什么。谢谢Tim,但我在创建对象时提到了该值。我不太清楚在服务器端的何处提及该属性。我尝试在readerQuotas和Binding上提及该属性,但没有效果。下面是服务器配置文件的详细信息。客户端使用的地址是否在服务器的配置文件中定义?如果不是,我想知道您的客户端请求是否会发送到默认端点,该端点将使用默认的WsHttpBinding,这可能会导致此问题。您好,Tim您的意思是我需要在基址部分“/>或端点部分的某个地方提到地址“”。我相信是的,是的(还没有机会玩WCF 4.0,所以我就不读了)。另一个选项是为您的服务定义WsHttpBinding的默认绑定,以便WCF能够使用它-但我认为最简单的方法是在端点元素的address属性中添加“192.168.5.170/DBSyncWcfService/DBSyncService.svc”。
<wsHttpBinding>
  <binding name="NewBinding0" closeTimeout="00:10:00" openTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00" maxReceivedMessageSize="20000000"> 
    <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    <reliableSession enabled="true" /> 
    <security mode="None">
      <transport clientCredentialType="None" /> 
      <message clientCredentialType="Windows" negotiateServiceCredential="true" establishSecurityContext="false" /> 
    </security>
  </binding>
</wsHttpBinding>