ServiceStack:读取XML数据时已超出最大数组长度配额(16384)

时间:2014-02-26 12:55:47

标签: c# servicestack soap1.2

我已经设置了ServiceStack来为我的MVC 4网站提供Web服务。我将只使用Soap1.2和Web服务,到目前为止它一直运行良好。

除非我尝试发送一个太大的字节数组,否则会出现以下错误:

  

读取XML数据时已超出最大数组长度配额(16384)。通过更改创建XML阅读器时使用的XmlDictionaryReaderQuotas对象的MaxArrayLength属性,可以增加此配额。

在客户端,我已经为绑定设置了readerQuotas,它似乎正确地选择它,所以问题看起来是在服务器端。通常会在web.config中添加Web服务的绑定设置,但我不确定如何为ServiceStack执行此操作。

那就是它的ServiceStack引起了问题。

如何将大量数据发送到使用ServiceStack创建的Soap1.2 Web服务? (不幸的是,通过使用字节数组)

1 个答案:

答案 0 :(得分:1)

@cvbarros所述,可以在应用程序初始化代码中指定值:

DataContractSerializer.Instance = new DataContractSerializer(new XmlDictionaryReaderQuotas
{  
    MaxStringContentLength = /* new value */; 
};