我的应用程序偶尔会出现异常

发布于 2024-11-08 02:37:21 字数 104 浏览 0 评论 0原文

我的 asp.net 应用程序偶尔会出现异常,导致应用程序池停止。并且需要手动启动。

有谁知道如何追踪它,如何找到问题的原因?

我在事件查看器中没有看到任何错误。

My asp.net application gives an exception once in a while as a result application pool stopped. and it needs to be started manually.

Does anyone know how to trace it, how to find what cause the problem?

I don't see any errors in Event Viewer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

萧瑟寒风 2024-11-15 02:37:21

在 IIS 7.0 中,当应用程序池回收时,事件(可配置)和异常(始终)会记录到 Windows 事件日志中。

Sccot Guthrie 对 Tess 相关帖子的总结非常棒:

In IIS 7.0, events (configurable) and exceptions (always) are logged to the Windows event log when an application pool recycles.

Sccot Guthrie's round-up of Tess's related posts is great:

素衣风尘叹 2024-11-15 02:37:21

尝试将 Application_Error 方法放在 Global.asax.cs 上,如下所示:

protected void Application_Error(object sender, EventArgs e)
{
    // Get the exception object.
    Exception exception = Server.GetLastError();

    _Log.Error(exception.Message, exception);

    // Clear the error from the server
    Server.ClearError();
}

_Log 行假设您正在使用 log4net 或其他一些日志记录框架,但您可以对错误执行任何您想要的操作。

PS - 其他一些评论中有一些错误信息。但我没有足够的代表来评论他们。如果任何线程出现未处理的异常,我编写的所有 IIS/WCF Web 服务应用都将终止。我无法确定 ASP.Net 应用程序是否也是如此。

Try putting an Application_Error method on Global.asax.cs like this:

protected void Application_Error(object sender, EventArgs e)
{
    // Get the exception object.
    Exception exception = Server.GetLastError();

    _Log.Error(exception.Message, exception);

    // Clear the error from the server
    Server.ClearError();
}

The _Log line assumes you're using log4net or some other logging framework but you could do whatever you want with the error.

PS - There's some misinformation in some of the other comments. But I don't have enough rep to comment on them. All IIS / WCF web service apps that I've written will terminate if any thread has an unhandled exception. I can't speak to whether that's true of ASP.Net apps as well.

等待我真够勒 2024-11-15 02:37:21

您绝对确定您的应用程序池由于错误而停止吗?应用程序池停止的原因有很多。除非另有配置,否则默认情况下,如果在设定的时间后不活动,它将停止。我想大约20分钟。

Are you absolutely certain your application pool is stopping due to an error? There are many reasons the application pool can stop. Unless configured otherwise by default it will stop if inactive after a set ammount of time. I think about 20 minutes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文