3

我最近对 ​​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”。请注意,属性名称区分大小写。

如果有人可以在这方面提供帮助,那就太好了。

4

1 回答 1

10

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

wsHttpBinding 具有属性 MaxBufferPoolSize,它与 MaxBufferSize 略有不同。请看这篇文章以了解区别

于 2014-11-14T10:05:14.527 回答