You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网站运行正常但日志反复出现ASP.NET Core IIS相关错误,如何排查?

ASP.NET Core站点日志反复出现未处理异常的排查方案

我的网站运行状态正常,但在日志文件中反复出现以下错误,且该错误持续重复,请问该如何排查此问题?
错误信息:
ERROR|Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer|Connection ID "", Request ID "": An unhandled exception was thrown by the application.
ERROR|Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware|An unhandled exception has occurred while executing the request.

排查步骤

  • 启用详细异常日志
    默认日志仅输出异常提示,缺少具体栈信息。修改appsettings.json或环境配置,将日志级别调至Debug或Trace,确保ExceptionHandlerMiddleware能输出完整异常栈:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Debug",
          "Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware": "Trace"
        }
      }
    }
    

    重启站点后,日志会显示异常的具体类型、触发位置和调用栈,这是定位问题的核心依据。

  • 定位异常触发的请求
    结合日志时间戳,匹配同一时段的访问日志、路由日志,排查可能触发异常的请求路径或客户端IP。同时检查是否有定时任务、后台服务请求(如健康检查、内部API调用)在反复触发异常。

  • 检查未捕获的后台线程/任务异常
    若前台功能正常,异常可能来自后台线程、Hosted Service或异步任务。这类异常不影响用户请求,但会被全局捕获机制记录。可在后台任务中添加try-catch块,或在Program.cs中注册全局未观察任务异常处理:

    TaskScheduler.UnobservedTaskException += (sender, e) =>
    {
      logger.LogError(e.Exception, "未观察到的后台任务异常");
      e.SetObserved();
    };
    
  • 排查IIS相关配置问题
    检查IIS应用池的回收设置、进程模型(如快速失败保护是否启用),以及站点绑定配置(如HTTPS证书是否过期、端口是否被占用)。同时确认ASP.NET Core模块(AspNetCoreModuleV2)版本兼容。

  • 模拟请求复现问题
    根据日志时间戳和疑似请求路径,用Postman或curl模拟请求,尝试复现异常。若成功复现,可通过本地调试断点追踪代码逻辑。

内容的提问来源于stack exchange,提问作者FSD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:05:26