日期:2014-05-18 浏览次数:20445 次
protected void Application_Error(Object sender, EventArgs e) { try { if(Convert.ToInt32(Application["tag"])>2) { Application["tag"]=1; return; } Application["tag"]=Convert.ToInt32(Application["tag"])+1; Exception objErr = Server.GetLastError().GetBaseException(); Application["errorPage"] = Request.Url.ToString(); Application["errorMsg"] =objErr.Message; Server.ClearError(); Response.Redirect("Error.aspx"); } catch{} }
------解决方案--------------------
改为RemoteOnly
------解决方案--------------------
呵呵,没研究
------解决方案--------------------
Error.html存在吗?
当custom errors mode="on"时 因为你是在本机调试 系统既是服务器端又是客户端 所以捕获异常后 还要作为客户端执行自定义的那个出错页 找到不 就错了
------解决方案--------------------
1、学习
------解决方案--------------------
跟踪吧。
------解决方案--------------------
呵呵,楼主在深入啊,确实没有研究过。
------解决方案--------------------
如果楼主有Error.html文件的话,确实比较奇怪,理论上说一共有两个在异常未处理时将被ASP.NET调用的事件:
Page_Error event,提供捕获在Page级别发生错误的方法。
Application_Error event,提供捕获在代码中的任何地方发生错误的方法。
先执行Page_Error,后执行Application_Error。Page_Error中处理错误之后使用Server.ClearError方法清除最后一个错误,可以避免再调用Application_Error。
------解决方案--------------------