在 IIS 7.5 (W2008) 中托管 WCF 服务时,我们有时会在客户端收到错误消息:
“格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数时出错http://tempuri.org /:defaultText。InnerException 消息是“反序列化 System.String 类型的对象时出错。读取 XML 数据时超出了最大字符串内容长度配额 (8192)。可以通过更改 MaxStringContentLength 属性来增加此配额创建 XML 阅读器时使用的 XmlDictionaryReaderQuotas 对象。第 148 行,位置 106。'。有关更多详细信息,请参阅 InnerException。
所以我们在服务器的web.config中修改了basicHttpBinding的readerQuotas元素的MaxStringContentLength属性。但显然该服务忽略了 system.serviceModel 部分中的所有内容!如果 system.serviceModel 部分被删除,IIS 仍然提供默认的 basicHttpBinding。
我发现了更多关于这个问题的文章,例如:
http ://social.msdn.microsoft.com/Forums/vstudio/en-US/2f990dec-79f5-4943-b238-44f0321148c3/changes-to-services-bindings-没有效果-wcf-iis-7-vs2010-net-401
但我不明白答案。有谁知道如何让 IIS/WCF 监听 web.config?
提前谢谢了!