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

Seb*_*ier 3 c# rest wcf 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>
Run Code Online (Sandbox Code Playgroud)

进行更改后,应用程序无法正常工作,它会抛出以下异常.

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

如果有人可以提供帮助,那就太好了.

Dav*_*gor 9

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

wsHttpBinding具有属性MaxBufferPoolSize,这与MaxBufferSize略有不同.请查看这篇文章以了解其中的差异