采访 Que - 如何解决实时应用程序页面崩溃 ASP.Net
本文关键字:应用程序 实时 崩溃 Net ASP 解决 Que 何解决 采访 | 更新日期: 2023-09-27 18:31:38
在实时应用程序中,如果客户端通过显示联系人管理员消息而获得页面崩溃。您将如何解决此问题?
在当地环境中,此问题不会得到解决。与此页面相关的所有数据都是正确的。您尝试了所有可能的方法,但无法找到根本原因。
您应该首先关闭"联系管理员"错误消息页面从类似的东西——
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
自
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
这将显示实时环境中实际发生的错误。然后,您可以浏览错误中显示的堆栈跟踪并分析问题。然后,您可以将配置设置恢复为原始实时配置。
调试此类问题的最佳工具是确保在应用程序中正确记录异常。否则,很难跟踪特定于环境的错误。
您可以尝试的另一件事是使用 Global.asax 中的Application_Error事件处理程序来捕获异常并在发生错误时发送电子邮件。
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;
Exception exception = ctx.Server.GetLastError();
string errorInfo =
"<br><b>Time:</b> " + DateTime.Now.ToString() +
"<br><b>Offending URL:</b> " + ctx.Request.Url.ToString() +
"<br><b>Referring URL:</b> " + ctx.Request.UrlReferrer.ToString() +
"<br><br><b>Query String:</b> " + ctx.Request.QueryString.ToString() +
"<br><br><b>IP Address:</b> " + ctx.Request.UserHostAddress +
"<br><br><b>Form:</b> " + ctx.Request.Form.ToString() +
"<br><br><b>Source:</b> " + exception.Source +
"<br><br><b>Message:</b> " + exception.Message +
"<br><br><b>Stack trace:</b> " + exception.StackTrace;
EmailNotifier.SendError(errorInfo, "Website Error");
}