gpt4 book ai didi

asp.net - 在 ASP.NET 应用程序的 global.asax 中处理 Application_Error

转载 作者:行者123 更新时间:2023-12-03 10:21:50 25 4
gpt4 key购买 nike

我希望在应用程序崩溃时向管理员发送邮件。
所以我只是在 global.asax 中执行此操作:

void Application_error(object sender, EventArgs e)
{
SendMessageToAdministarator(Server.GetLastError().ToString());
}

但实际上很多次 Application_Error即使应用程序不会崩溃也会被调用。

我希望仅在应用程序崩溃时向管理员发送邮件。

另外,我是否有一种简单的方法可以重新启动应用程序?

我正在寻找最简单的解决方案。

最佳答案

当应用程序没有崩溃时会发送什么样的错误?您可以检查异常的类型,并且不要就不会使应用程序崩溃的异常发送电子邮件(例如,重定向可以抛出我在代码中手动过滤的 ThreadAbortException):

protected void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex is ThreadAbortException)
return;
Logger.Error(LoggerType.Global, ex, "Exception");
Response.Redirect("unexpectederror.htm");
}

您可以添加到错误页面的重定向,向用户显示发生错误的消息以及指向站点中相关页面的一些链接。这是为了“重新启动应用程序” - 我希望这是您想要的。

您也可以考虑使用 log4net 进行日志记录,它也可以在服务器上记录错误并发送有关错误的电子邮件。

关于asp.net - 在 ASP.NET 应用程序的 global.asax 中处理 Application_Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com