C# 响应异常错误。重定向

C# 响应异常错误。重定向,c#,asp.net,C#,Asp.net,尝试在我的一个ASP.NET页面中使用Response.Redirect时出现以下错误: [ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: offset] System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count) +8858392 S

尝试在我的一个ASP.NET页面中使用Response.Redirect时出现以下错误:

[ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: offset]
   System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count) +8858392
   System.Web.HttpResponseStreamFilterSink.Write(Byte[] buffer, Int32 offset, Int32 count) +30      
   System.Web.HttpWriter.Filter(Boolean finalFiltering) +8754611
   System.Web.HttpResponse.FilterOutput() +82
   System.Web.ApplicationStepManager.ResumeSteps(Exception error) +501
   System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +123
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +379
我以前从未见过这种情况。如果我在页面加载事件期间响应.重定向,则会发生这种情况

有什么想法吗

编辑:这不是我的代码,如果我只是坚持响应,就会发生这种情况。在页面加载中自动重定向


编辑#2:使用302 FOUND标题可以很好地工作,但response.redirect不是应该这样做吗?

我会仔细检查目标页面的代码(因为您评论了那里发生的错误)。它可能正在使用依赖于请求的东西。我从未见过类似的错误,但看起来你应该关注页面正在做的任何特殊事情。

我会仔细检查目标页面的代码(因为你评论了那里发生的错误)。它可能正在使用依赖于请求的东西。我从未见过类似的错误,但看起来您应该关注页面正在执行的任何特殊操作。

这可能不会有多大帮助,但异常本身会在HttpResponseStream.Write(byte[]buffer,int offset,int count)中抛出,此时偏移量<0(实际上不是)或缓冲区长度为零。据我所知,如果启用了缓冲输出,并且某个东西成功地将零字节写入流,则可能会发生这种情况

在执行重定向之前,我会尝试调用Flush,并尝试使用第二个参数。我还将检查web.config中的任何自定义过滤器注册(尽管不太可能)。还要确保目标应用程序没有异步页面处理,这可能会造成严重破坏


显然,其他人也有类似的错误,但通常是在编写自己的过滤器时。我最终会在汇编程序级别进行调试…

这可能不会有多大帮助,但异常本身会在HttpResponseStream.Write(byte[]buffer,int offset,int count)中抛出,此时偏移量<0(它不是)或缓冲区长度为零。据我所知,如果启用了缓冲输出,并且某个东西成功地将零字节写入流,则可能会发生这种情况

在执行重定向之前,我会尝试调用Flush,并尝试使用第二个参数。我还将检查web.config中的任何自定义过滤器注册(尽管不太可能)。还要确保目标应用程序没有异步页面处理,这可能会造成严重破坏


显然,其他人也有类似的错误,但通常是在编写自己的过滤器时。我最终会在汇编程序级别进行调试…

抛出一些代码,这样我们就可以得到一个gander!这个错误是发生在源页面还是目标页面?抛出一些代码,这样我们就可以得到一个gander!这个错误是发生在源页面还是目标页面?目标页面是什么并不重要。我可以指向站点上的任何页面……它似乎来自框架本身,查看堆栈跟踪。目标页面是什么并不重要。我可以指向站点上的任何页面……它似乎来自框架本身,查看堆栈跟踪。