【问题标题】:DNN PageLoadException with no stack trace没有堆栈跟踪的 DNN PageLoadException
【发布时间】:2019-11-06 19:24:08
【问题描述】:

我们在 dnn 页面上有一个自定义模块,该模块会引发 Page_Load_Exception,但在 EventLog* 中不包含堆栈跟踪。该异常显然发生在我们的模块加载之前,并且我们的模块在其他环境中工作正常。

  1. 是否有设置禁用或启用获取堆栈跟踪?

  2. 现在,在开发中,如果我强制页面加载异常,我确实会得到一个堆栈跟踪,但在试图弄清楚为什么我查看了 DNN 代码并在 PageBase.cs 中注意到了这一点

    受保护的覆盖无效 OnError(EventArgs e) { base.OnError(e); 异常 exc = Server.GetLastError(); Logger.Fatal("加载页面时出错。", exc);

根据我的阅读,在 asp.net 中显然有些情况下 Server.GetLastError() 将返回 null。避免这种情况的一种技术是处理 global.asax 中的 Server.GetLastError() ,然后将其存储起来供页面以后使用。您认为这可能是我们在 DNN 中最终没有获得堆栈跟踪的原因吗?

【问题讨论】:

  • 您使用的是哪个版本的 DNN?您可以从 /portals/_default/Logs 中的应用程序文件日志中获取更多信息。
  • DNN 8. 我会检查 /portals/*/Logs。但是,您知道是否有某些东西可以启用或禁用堆栈跟踪吗?

标签: dotnetnuke


【解决方案1】:

就像一条信息。 DNN 日志不包括堆栈跟踪,因为未更新 AddLog 存储过程。正如一位评论员所写,您可以查看 /portals/_default/Logs。在那里你会看到一堆文件,并且 DNN 日志有例外。 AddLog 有一个例外。一旦我们确定表结构与升级匹配,我们所要做的就是应用新的存储过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2018-12-03
    • 2019-10-02
    相关资源
    最近更新 更多