我有一个WCF Web服务,当前正在接受字符串的JSON对象,其中一个键/值对包含一个Base 64编码的图像二进制数据字符串。
当Web服务收到请求时,它会抛出以下错误:
异常消息是'反序列化类型对象时出错。读取XML数据时已超出最大字符串内容长度配额(8192)。
我已经按照其他人建议的一些解决方案,我的Web.Config现在有了自定义绑定:
<bindings>
<webHttpBinding>
<binding name="LongWebHttpBinding"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
</bindings>
端点配置如下:
<services>
<service name="GenericService">
<endpoint address=""
behaviorConfiguration="jsonBehavior"
binding="webHttpBinding" bindingConfiguration="LongWebHttpBinding"
contract="IGenericService" />
</service>
</services>
根据所有其他建议设置bindingConfiguration
应解决我收到的错误消息。
我可以采取进一步的措施来解决这个问题吗?
答案 0 :(得分:0)
如果您在新设置后仍遇到问题,则可能需要调整您定义的jsonBehavior的maxItemsInObjectGraph
部分中的<dataContractSerializer>
属性。
但是,我相信如果这是异常会告诉你的问题 - 不确定,因为我从来没有调整过maxReceivedMessageSize或maxStringContentLength以外的任何东西。
答案 1 :(得分:0)
作为Ladislav Mrnka,问题是在Web.Config中输入时,我没有使用该服务的完整命名空间。
一旦我添加完整的命名空间,它似乎正常工作。
感谢您的帮助