我在global.asax文件的Application_Error事件中有代码,它在发生错误时执行,并将错误的详细信息发送给我自己.
void Application_Error(object sender, EventArgs e)
{
var error = Server.GetLastError();
if (error.Message != "Not Found")
{
// Send email here...
}
}
Run Code Online (Sandbox Code Playgroud)
我在Visual Studio中运行它时工作正常,但是当我发布到我们的实时服务器时,Application_Error事件不会触发.
经过一些测试后,我可以Application_Error在设置时进行射击customErrors="Off",但是将其设置回来可以customErrors="On"阻止事件再次发射.
任何人都可以建议为什么Application_Error在customErrors启用时不会被解雇web.config?
我希望在应用程序崩溃时向管理员发送邮件.所以我只是这样做global.asax:
void Application_error(object sender, EventArgs e)
{
SendMessageToAdministarator(Server.GetLastError().ToString());
}
Run Code Online (Sandbox Code Playgroud)
但实际上很多次都Application_Error被调用,即使应用程序不会崩溃.
我希望在应用程序崩溃时只向管理员发送邮件.
另外,我有一个简单的方法来重新启动应用程序吗?
我正在寻找最简单的解决方案.