我有一个" error.aspx"如果发现任何异常,在那里给我发邮件的页面。当我手动打开页面mysite.com/error.aspx时,页面打开正常但是当它被一个带有exception.message和exception.stackTrace作为查询字符串的catch块重定向时,我收到错误"页面没有发现&#34 ;.查询字符串是否指示浏览器打开不同的URL?但是,在localhost上运行时它可以正常工作。
public void send_error(Exception ex)
{
Response.Redirect("error.aspx?time=" + DateTime.Now.ToString() + "&ex=" + ex.Message + "&st=" + ex.StackTrace.Replace("\n", " "), false);
}
答案 0 :(得分:1)
如果选中此Article,您会看到网址字符串的最大查询长度为Internet Explorer的2048个符号。可能网址更大,因此你有这个问题。一种解决方案是将欲望消息作为字符串保存在会话中,然后在其他页面上检索它。
string errorMessage = DateTime.Now.ToString() + " " + ex.Message + " " + ex.StackTrace.Replace("\n", " ");
Session["__ErrMessage"] = errorMessage;
当您在其他页面中时,您可以像这样访问此字符串:
string errMessage = "";
if(Session["__ErrMessage"] != null)
errMessage = Session["ErrMessage"].ToString();