我最近对 ​​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>

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



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

最佳答案

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

wsHttpBinding 具有属性 MaxBufferPoolSize,它与 MaxBufferSize 略有不同。请look at this post了解区别

关于c# - 配置错误 : Unrecognized attribute 'maxBufferSize' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26925659/

10-13 06:49