【发布时间】:2019-11-06 19:24:08
【问题描述】:
我们在 dnn 页面上有一个自定义模块,该模块会引发 Page_Load_Exception,但在 EventLog* 中不包含堆栈跟踪。该异常显然发生在我们的模块加载之前,并且我们的模块在其他环境中工作正常。
是否有设置禁用或启用获取堆栈跟踪?
-
现在,在开发中,如果我强制页面加载异常,我确实会得到一个堆栈跟踪,但在试图弄清楚为什么我查看了 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