配置错误:无法识别的属性' maxBufferSize'

时间:2014-11-14 08:17:31

标签: c# wcf rest web-config service-model

我最近在wcf REST服务的web.config文件中进行了更改,我刚刚添加了maxBufferSize="10485760"属性。请在下面找到代码段...

<wsHttpBinding>
  <binding name="WSHttpBinding_IService" closeTimeout="00:04:00" 
                 openTimeout="00:04:00" receiveTimeout="00:04:00" sendTimeout="00:04:00" 
                 bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode=
                 "StrongWildcard" maxBufferSize="10485760" maxBufferPoolSize="2147483647"
                 maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8"
                 useDefaultWebProxy="true" allowCookies="false">
  <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" 
                 maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
                 maxNameTableCharCount="2147483647" />
  <reliableSession ordered="true" inactivityTimeout="00:04:00" enabled="false" />
 </binding>
</wsHttpBinding>

进行更改后,应用程序无法运行,正在抛出以下异常。

  

配置错误说明:处理为此请求提供服务所需的配置文件时发生错误。   请查看下面的具体错误详情并修改您的   配置文件适当。分析器错误消息:无法识别   属性'maxBufferSize'。请注意,属性名称是   区分大小写的。

如果有人可以提供帮助,那就太棒了。

1 个答案:

答案 0 :(得分:8)

整个问题是,wsHttpBinding绑定没有任何maxBufferSize属性。例如,此属性在basicHttpBinding中可用。我建议您使用Visual Studio修改web.config文件中的绑定,而不是直接修改它。另外,您可以在下次看到可用的属性。 ScreenShot

wsHttpBinding具有属性MaxBufferPoolSize,这与MaxBufferSize略有不同。请look at this post了解差异