WebService出错 Maximum message size quota
for
incoming messages (
65536
) has been exceeded.已超过传入消息(
65536
)的最大消息大小配额
WebService应用中如果收到的信息非常大时出错。
1 :Maximum message size quota for incoming messages ( 65536 ) has been exceeded.已超过传入消息( 65536 )的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ServiceModel.QuotaExceededException: 已超过传入消息( 65536 )的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
解决办法:
修改Web.Config文件,其中的MaxReceivedMessageSize 可以改大一点,改成2147483647好了。
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
2 :读取 XML 数据时,超出最大字符串内容长度配额 ( 8192 )。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 第 211 行,位置为 394 。
解决办法:
也是修改Web.Config中的MaxStringContentLength ,这是有些数据比较长的时候出现这个问题,改大一点就可以了吧。
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
下面是完整的代码:
< system.serviceModel >
< bindings >
< basicHttpBinding >
< binding name = " FileServiceSoapBinding " closeTimeout = " 00:01:00 "
openTimeout = " 00:01:00 " receiveTimeout = " 00:10:00 " sendTimeout = " 00:01:00 "
allowCookies = " false " bypassProxyOnLocal = " false " hostNameComparisonMode = " StrongWildcard "
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
messageEncoding = " Text " textEncoding = " utf-8 " transferMode = " Buffered "
useDefaultWebProxy = " true " >
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
< security mode = " None " >
< transport clientCredentialType = " None " proxyCredentialType = " None "
realm = "" />
< message clientCredentialType = " UserName " algorithmSuite = " Default " />
</ security >
</ binding >
< binding name = " FileServiceSoapBinding1 " closeTimeout = " 00:01:00 "
openTimeout = " 00:01:00 " receiveTimeout = " 00:10:00 " sendTimeout = " 00:01:00 "
allowCookies = " false " bypassProxyOnLocal = " false " hostNameComparisonMode = " StrongWildcard "
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
messageEncoding = " Text " textEncoding = " utf-8 " transferMode = " Buffered "
useDefaultWebProxy = " true " >
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
< security mode = " None " >
< transport clientCredentialType = " None " proxyCredentialType = " None "
realm = "" />
< message clientCredentialType = " UserName " algorithmSuite = " Default " />
</ security >
</ binding >
</ basicHttpBinding >
</ bindings >
WebService应用中如果收到的信息非常大时出错。
1 :Maximum message size quota for incoming messages ( 65536 ) has been exceeded.已超过传入消息( 65536 )的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ServiceModel.QuotaExceededException: 已超过传入消息( 65536 )的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
解决办法:
修改Web.Config文件,其中的MaxReceivedMessageSize 可以改大一点,改成2147483647好了。
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
2 :读取 XML 数据时,超出最大字符串内容长度配额 ( 8192 )。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 第 211 行,位置为 394 。
解决办法:
也是修改Web.Config中的MaxStringContentLength ,这是有些数据比较长的时候出现这个问题,改大一点就可以了吧。
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
下面是完整的代码:
< system.serviceModel >
< bindings >
< basicHttpBinding >
< binding name = " FileServiceSoapBinding " closeTimeout = " 00:01:00 "
openTimeout = " 00:01:00 " receiveTimeout = " 00:10:00 " sendTimeout = " 00:01:00 "
allowCookies = " false " bypassProxyOnLocal = " false " hostNameComparisonMode = " StrongWildcard "
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
messageEncoding = " Text " textEncoding = " utf-8 " transferMode = " Buffered "
useDefaultWebProxy = " true " >
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
< security mode = " None " >
< transport clientCredentialType = " None " proxyCredentialType = " None "
realm = "" />
< message clientCredentialType = " UserName " algorithmSuite = " Default " />
</ security >
</ binding >
< binding name = " FileServiceSoapBinding1 " closeTimeout = " 00:01:00 "
openTimeout = " 00:01:00 " receiveTimeout = " 00:10:00 " sendTimeout = " 00:01:00 "
allowCookies = " false " bypassProxyOnLocal = " false " hostNameComparisonMode = " StrongWildcard "
maxBufferSize = " 2147483647 " maxBufferPoolSize = " 524288 " maxReceivedMessageSize = " 2147483647 "
messageEncoding = " Text " textEncoding = " utf-8 " transferMode = " Buffered "
useDefaultWebProxy = " true " >
< readerQuotas maxDepth = " 64 " maxStringContentLength = " 8192000 " maxArrayLength = " 16384000 "
maxBytesPerRead = " 4096000 " maxNameTableCharCount = " 16384000 " />
< security mode = " None " >
< transport clientCredentialType = " None " proxyCredentialType = " None "
realm = "" />
< message clientCredentialType = " UserName " algorithmSuite = " Default " />
</ security >
</ binding >
</ basicHttpBinding >
</ bindings >