码迷,mamicode.com
首页 > 其他好文 > 详细

The maximum string content length quota (8192) has been exceeded while reading XML data

时间:2015-02-04 09:20:38      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

原文: The maximum string content length quota (8192) has been exceeded while reading XML data

 

问题场景:在我们WCF服务发布后,我们要确保服务端以及客户端的配置文件允许合适大小的传输设置。笔者在发布WCF服务时,服务端的绑定未做传输大小的设置(采用了默认,maxStringContentLength默认大小为8192),而我们在传输序列化的数据时,大小超过了这个限制。

 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。

 

问题原因:服务端或者客户端关于传输大小的未做设置,maxStringContentLength默认大小为8192,实际传输大于8192,由此产生异常。

 

解决方案:

1.确定是客户端还是服务端的限制。

 

2.在客户端或服务器的做如下配置:

 

<binding name="xxx" maxReceivedMessageSize="2147483647">

<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647"

maxNameTableCharCount="2147483647" />

security>

</binding>

代码中可修改如下:

  MyServiceClient service = null;
            //MyServiceClient service = new MyServiceClient();
            try
            {


                System.ServiceModel.Channels.CustomBinding bing = new System.ServiceModel.Channels.CustomBinding(
                        new System.ServiceModel.Channels.BindingElement[]{ 
                new BinaryMessageEncodingBindingElement(){ ReaderQuotas= new System.Xml.XmlDictionaryReaderQuotas {
                    MaxDepth=2147483647, 
                    MaxStringContentLength=2147483647,  
                    MaxArrayLength=2147483647, 
                    MaxBytesPerRead=2147483647}},
                new HttpTransportBindingElement()
                        });

                bing.Name = "CustomBinding_DataService";
                EndpointAddress address = new EndpointAddress(http://www.xxx.com/MyService.svc);

                service = new MyServiceClient(bing, address);
          
            }
            catch (Exception ex)
            {
                throw ex;
            }

 


 

The maximum string content length quota (8192) has been exceeded while reading XML data

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/4271499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!