我无法看到服务器错误的详细输出

本文关键字:输出 错误 服务器 | 更新日期: 2023-09-27 18:08:02

在asp.net中,当出现错误时,我无法看到服务器的详细消息。我的意思是,当你打开浏览器并导航到http://[errorpage].com时,页面显示类似"内部服务器错误-服务器正在忙"的东西-当然你知道服务器正在忙……但是在我的应用程序中,我只得到错误503——但是我不能像mozilla浏览器那样看到整个错误消息。我试图捕捉并显示异常-但是…不。此外,我试图解析源正则exp. -但我猜网络停止每当错误存在,不能继续解析-也…

我无法看到服务器错误的详细输出

作为规则,不要在实时网站上启用此功能。在你的网里。配置,添加/编辑以下内容:

<customErrors mode="Off" />

这将开始显示有关错误的详细信息。但是,请不要在活动服务器上这样做,或者至少不要永久这样做,因为这是一个安全隐患。

最好的方法是在代码中实现错误处理,然后将错误保存在某处(数据库,文件…)然后你可以查看你的文件,得到一个完整的错误

try {
   //your code here
}
catch(Exception ex)
{
   //write to file ex.ToString() to see whole stack trace, or ex.Message to see just message like "index out of bounds"
}

如果你想在浏览器中显示错误,那么在你的配置文件

中打开它

查看此链接获取详细信息http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

您的问题有点狂躁,但您必须考虑如果发生这种情况,堆栈将进行什么错误处理:

try{
   //Something
}
catch(Exception){
   //Handle it some how
   throw new Exception("Broken");
}

则会在抛出新异常之前丢失所有调用堆栈。如果发生这种情况,可以像这样修复:

try{
   //Something
}
catch(Exception){
   //Handle it some how
   throw;
}

继续抛出带有堆栈跟踪的原始异常。

如果你打开ASP。. NET运行状况监视,然后是ASP。. NET将错误的详细信息记录到Windows事件日志或您指定的任何其他目的地。