C# 重定向到超出文件上载大小时出错

C# 重定向到超出文件上载大小时出错,c#,asp.net,httpmodule,C#,Asp.net,Httpmodule,当最大文件上载大小超过DDS时,我试图将用户引导到错误页面。为此,iam执行以下操作: public void Init(HttpApplication application) { application.BeginRequest += new EventHandler(application_BeginRequest); } void application_BeginRequest(object sender, EventArgs e) {

当最大文件上载大小超过DDS时,我试图将用户引导到错误页面。为此,iam执行以下操作:

public void Init(HttpApplication application)
    {
        application.BeginRequest += new EventHandler(application_BeginRequest);
    }

    void application_BeginRequest(object sender, EventArgs e)
    {
        HttpApplication application = (HttpApplication)sender;
        HttpContext context = application.Context;
        if (context.Request.ContentLength > 4096000)
        {
            context.Response.Redirect("~/Error.aspx");
        }
    }
    public void Dispose()
    {
    }
但在上载大于最大文件大小的文件时,会显示“连接重置”错误。
我应该怎么做。

即使在应用程序启动之前,ASP.NET运行时也可能拒绝该请求。检查web.config中设置的最大请求长度-该值应大于应用程序预期的值:

IIS6/IIS7(经典管道和集成管道):


IIS7(综合管道):


希望这会有所帮助


--Pavel

好的,您可能会遇到ThreadAbortException,这就是连接重置的原因

请参阅这篇知识库文章以了解解决方法:


--Pavel

检查这个问题:

我认为要从处理程序正确执行此操作,您需要在发送响应/重定向之前读取请求中的所有数据。或者,您可以从ISAPI筛选器执行此操作,避免读取数据。

您可以使用toolkit AsyncFileUpload控件,然后在客户端捕获错误并重定向到错误页面


函数onUploadError()
{
//重定向到错误页面。
}
函数uploadComplete()
{
}
使用以下方法,原因可能只是重定向到本地站点:

这似乎不起作用,当 服务器是本地的(通过使用 本地主机、本地ip或 ).浏览器刚刚启动 反应完全像服务器一样 断开了连接-连接 已重置对等方/连接的重置 (FF)/无法显示网页(IE)


我在context.Response.Redirect(“~/Error.aspx”)上放置了一个调试器;“就到这一点了。@Niraj:你能显示一个警告说上传的文件超过了限制吗?”?
<system.web>
  <!-- The value is in KB -->
  <httpRuntime maxRequestLength="4096" />
</system.web>
<system.webServer> 
  <security> 
    <requestFiltering> 
      <!-- The value is in bytes -->
      <requestLimits maxAllowedContentLength="209715200" />
    </requestFiltering>
  </security>
</system.webServer>
<asp:AsyncFileUpload ID="fileUpload" 
                     runat="server" OnClientUploadError="onUploadError"
                     OnClientUploadComplete="uploadComplete"
                     OnUploadedComplete="OnUploadComplete" />

<script language="javascript" type="text/javascript">

     function onUploadError()
     {
          //Redirect to error page.
     }

     function uploadComplete()
     {

     }


 </script>