我最近在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'。请注意,属性名称是 区分大小写的。
如果有人可以提供帮助,那就太棒了。
答案 0 :(得分:8)
整个问题是,wsHttpBinding绑定没有任何maxBufferSize属性。例如,此属性在basicHttpBinding中可用。我建议您使用Visual Studio修改web.config文件中的绑定,而不是直接修改它。另外,您可以在下次看到可用的属性。
wsHttpBinding具有属性MaxBufferPoolSize,这与MaxBufferSize略有不同。请look at this post了解差异