采访 Que - 如何解决实时应用程序页面崩溃 ASP.Net

本文关键字:应用程序 实时 崩溃 Net ASP 解决 Que 何解决 采访 | 更新日期: 2023-09-27 18:31:38

在实时应用程序中,如果客户端通过显示联系人管理员消息而获得页面崩溃。您将如何解决此问题?

在当地环境中,此问题不会得到解决。与此页面相关的所有数据都是正确的。您尝试了所有可能的方法,但无法找到根本原因。

采访 Que - 如何解决实时应用程序页面崩溃 ASP.Net

您应该首先关闭"联系管理员"错误消息页面从类似的东西——

<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");        
}