在更改上传允许的最大文件大小时,我偶然发现了这两个设置.
在sytem.web中,您拥有带有maxRequestLength的http运行时节点.在system.webServer中,您拥有带有maxAllowedContentLength的requestLimits.
现在哪个优先于另一个?我们需要设置两个或者是最后一个(IIS7的那个)足够吗?
如果我们使用IIS 7和.Net Framework 4,那么最大值是maxRequestLength多少?
我想为maxRequestLength设置多个设置 - 文件大小上传限制(例如,一个用于文件/新建,另一个用于图片/新建).我的所有操作都采用其他参数(例如/ File/New?folderId = 234).
单个设置按预期工作:
<httpRuntime executionTimeout="60" maxRequestLength="1024" />
Run Code Online (Sandbox Code Playgroud)
我尝试在根web.config中有2个设置和2个位置部分,但没有任何成功.我不确定在"路径"中写什么 - 视图的物理aspx页面,或控制器+动作......但是,似乎没有任何工作.
<location path="/File/">
<system.web>
<httpRuntime executionTimeout="60" maxRequestLength="4096" />
</system.web>
</location>
<location path="/Picture/">
<system.web>
<httpRuntime executionTimeout="60" maxRequestLength="1024" />
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
我试图将另一个web.config放在一个特定的视图文件夹中(例如/ Views/Picture/...),就像它在经典的Webform ASP.NET中一样,但是这似乎没有做到这一点......
<location path="">
<system.web>
<httpRuntime executionTimeout="60" maxRequestLength="1024" />
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
无论我做什么,只应用httpRuntime.maxRequestLength的一个值 - 在(root)web.config ... system.web中.
应用程序能够在OnError中记录错误,但是我们无法进行任何重定向,因此无法向用户显示有意义的内容.有任何想法吗?我知道我们可以在web.config中设置maxRequestLength,但无论如何用户都可以超过这个限制,并且需要显示一些正常的错误.
.net asp.net file-upload maxrequestlength application-onerror
我已经知道的有关MVC上传大小限制的事情:
maxAllowedContentLength并maxRequestLength为最大上传大小我有一个上传组件,应该能够处理多达200MB的文件.我不认为将maxlimit每个页面设置为200MB的权利,所以我想使用动态请求URL作为位置.
上传URL的路由模式如下所示: {dynamicvalue}/ConvertModule/Upload
("ConvertModule"是控制器,"上传"是动作.)困难的部分是{dynamicvalue},因为这个我不能设置一个固定的位置web.config.
由于会话劫持,我不想使用Flash上传或类似的东西作为解决方案.
我有一个神秘的错误,大于4MB的文件产生一个随机错误.后来我意识到这是由于httpmaxrequestlength造成的
.默认情况下上传时,图片不能超过4MB.
我知道这可以从web.config文件更改.
当我尝试通过显示另一个页面来尝试解决此错误时,会弹出一个不同的错误.调试时,程序立即进入application_error.
执行Server.GetLastError()Exception时生成:
[System.Web.HttpUnhandledException] {"抛出类型'System.Web.HttpUnhandledException'的异常."} System.Web.HttpUnhandledException
堆栈跟踪:位于System.Web.UI.Page.ProcessRequestMain(布局includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)的System.Web.UI.Page.HandleError(Exception e),位于System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint,Boolean位于ASP.businessprofile_aspx.ProcessRequest(HttpContext)的System.Web.UI.Page.ProcessRequest(HttpContext context)上的System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文)的System.Web.UI.Page.ProcessRequest()处的includeStagesAfterAsyncPoint)在c:\ Users\Mattew\AppData\Local\Temp\Temporary ASP.NET Files\root\4ea30077\8f66786f\App_Web_h5fmhavk.4.cs:System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication中的第0行System.Web.HttpApplication.ExecuteStep中的.IExecutionStep.Execute()(IExecutionStep step,Boolean&completedSynchronously)
如果我在application_error方法中尝试任何代码,例如重定向,仍然是错误页面:错误101(net :: ERR_CONNECTION_RESET):连接已重置.被展示.
问题
该错误应如何处理?可以事先处理吗?所以这个错误没有显示?(我尝试使用jquery来获取文件大小并检查它,但我发现它太复杂了
如果问题1不是"回答",有没有办法拦截此错误并显示友好错误?
我从2012年开始在这里找到了同样的问题,但我想再次提出这个问题.
是否可以增加每个服务或控制器的maxRequestLength而不是更改Web.Config?
<system.web>
<httpRuntime maxRequestLength="10240"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)
如果它不能以编程方式,可以在Web.Config中完成,但它只能针对某些控制器?
我们在 Azure Web App 中托管了 Dot Net Web 应用程序。有可用的文件上传和下载规定。当我们尝试上传和下载小文件(以KB为单位)时,没有问题。但是当文件大小超过 MB 时,就会出现最大请求长度超出错误。我们尝试使用 Web.config 设置,例如 httpruntime 和 requestLimits,但错误未纠正。它在我们当地的环境中运行良好。是否有任何选项可以更改天蓝色网络应用程序中的请求限制。
当我使用我正在处理的MVC应用程序上传大于4MB的文件到blob存储时,我遇到了一些问题.我在web.config中添加了必要的代码,如下所示:
在system.web中
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
Run Code Online (Sandbox Code Playgroud)
在system.webserver中
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)
我已经重建了我的web项目和我的azure项目,但我仍然得到超出最大请求长度的错误.可能导致这种情况的任何想法?堆栈跟踪如下:
[HttpException(0x80004005):超出了最大请求长度.] System.Web.HttpRequest.GetEntireRawContent()+ 12603644 System.Web.HttpRequest.GetMultipartContent()+221 System.Web.HttpRequest.FillInFormCollection()+357 System.Web.HttpRequest .EnsureForm()+110 System.Web.HttpRequest.get_Form()+ 16 System.IdentityModel.Services.WSFederationAuthenticationModule.IsSignInResponse(HttpRequestBase request)+32 System.IdentityModel.Services.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequestBase request,Boolean onPage)+129 System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender,EventArgs args)+152 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously )+165
file-upload web-config maxrequestlength blobstorage asp.net-mvc-4
file-upload ×5
asp.net ×4
web-config ×4
.net ×3
asp.net-mvc ×2
c# ×2
iis-7 ×2
.net-4.0 ×1
azure ×1
blobstorage ×1
iis ×1