是否有可能为单个aspx页面启用远程错误?

本文关键字:程错误 错误 启用 有可能 单个 aspx 是否 | 更新日期: 2023-09-27 18:08:34

我有一个页面正在爆炸,我得到这个错误:

服务器上出现应用程序错误。此应用程序的当前自定义错误设置防止远程查看应用程序错误的详细信息(出于安全原因)。但是,它可以被运行在本地服务器机器上的浏览器查看。

在这种特殊情况下,我无法远程进入服务器。但是,我能够访问网页托管的wwwroot文件夹。我试图在我的测试服务器上上传作品的页面,但当我把它投入生产时,它抛出了错误。我怀疑是由于缺少命名空间。

是否有方法为这一页启用远程错误或以其他方式捕获异常细节?在Page_Load()

是否有可能为单个aspx页面启用远程错误?

之前抛出

如果您可以访问服务器的事件日志,这是ASP.NET通常编写未处理异常详细信息的地方。

另一种可能性是在web中启用临时异常详细信息。通过设置:

远程显示配置
<customErrors mode="Off" />

这将显示异常堆栈跟踪而不是YSOD,以便您知道问题是什么。

还有一种可能是在Global中订阅Appliaction_Error方法。查找并记录正在抛出的异常。顺便说一下,这是你无论如何都应该做的事情。

你也可以checkout ELMAH.

当然,如果您的应用程序在IIS中没有正确配置(例如web中的错误),所有这些都将是徒劳的。配置,错误的ASP。.NET版本在虚拟目录下,.NET框架未安装在远程服务器上,…)。在这种情况下,您可能需要访问服务器。

启用远程错误是一个非常糟糕的主意。正确的错误处理对于防止无意的信息泄露至关重要,这会为攻击者提供有用的信息。这值得一读。

这里有很多指导:http://msdn.microsoft.com/en-us/library/w16865z6.aspx

但是,有一些错误是无法通过代码绕过的。加载ASP。例如,将。NET 4.0网站转移到没有安装。NET Framework 4.0的服务器。您的错误处理将无法工作,因为代码无法运行。如果您怀疑是这种情况,您可能需要与管理员检查,以确保设置了正确的版本,并配置IIS以使用正确的目标框架运行您的应用程序。

如果您暂时想要启用一个.aspx页面的远程错误,只需添加"Debug=true"到页面,如<%@ Page Language="C#" Debug="true" .... %>