C# Maximum request length exceeded. 产生错误的原因,以及解决方法.

错误描述 服务器错误
500 -内部服务器错误。
您要查找的资源有问题,无法显示。
Server Error in '/' Application.
Maximum request length exceeded.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Maximum request length exceeded.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[HttpException (0x80004005): Maximum request length exceeded.]
System.Web.HttpRequest.GetEntireRawContent() +8895175
System.Web.HttpRequest.FillInFormCollection() +403
System.Web.HttpRequest.get_Form() +68
System.Web.HttpRequest.get_HasForm() +8896111
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +69
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +135

【C# Maximum request length exceeded. 产生错误的原因,以及解决方法.】Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

错误原因:这个错误的引起是因为应用程序最大请求字节长度超过了默认请求字节长度 解决方案:可以在Web.Config添加如下配置: 下面加上下面一句.搞定.


或加如下一段也可解决.
executionTimeout="1200"
maxRequestLength="102400"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
/>

默认maxRequestLength的值是4M,如果传输的文件大于4M,则需要修改maxRequestLength的值,
客户端的配置文件中的几个属性的含义如下:
maxReceivedMessageSize: 获取或设置配置了此绑定的通道上可以接收的消息的最大大小。
maxBufferPoolSize: 获取或设置可为特定消息缓冲区管理器(该管理器在配置了此绑定的终结点接收消息)分配的最大内存量。
maxBufferSize: 获取或设置缓冲区的最大大小,该缓冲区用于接收来自通道的消息。
messageEncoding:消息编码方式,分为Text 和 MTOM。MTOM 用来编码较大文件,而编辑较小Text方式比较适合


    推荐阅读