zoukankan      html  css  js  c++  java
  • 把Response.Redirect放到TryCatch中出的错误

    把Response.Redirect放在Try Catch中会出现以下错误:
    Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack
                try
                
    {
                    doSth();
                    Response.Rediret(
    "a.html");
                }

                
    catch { }

    查了一下,原来是因为Response.Redirect会默认调用Respons.End(),而Respons.End方法会停止页的执行,并将该执行变换到应用程序的事件管线中的 Application_EndRequest 事件,所以Response.Redirect后面的代码(其实是Response.End后的代码)就不会执行了。

    解决问题的办法是:调用Response.Redirect的重载函数Response.Redirect(String url, bool endResponse),参数为false。

    如果try中有Response.End(),解决方法为:使用 ApplicationInstance.CompleteRequest 方法而不用Response.End,以避开Application_EndRequest 事件。
  • 相关阅读:
    Java Class的field如果以小写t开头
    ACM集训日志——day1——15.7.8
    分金币 Uva 11300
    RMQ小结
    Poj 水题
    Codeforces Round #278 (Div. 2)
    poj 3685
    poj 3579
    vConsole
    js更换自定义鼠标指针图片
  • 原文地址:https://www.cnblogs.com/vagerent/p/1188074.html
Copyright © 2011-2022 走看看