目前我使用EVENT VIEWER in Administrative Tool
查看本地某些网页的嵌套Asp错误详情。
目前我在我只能访问IIS 7.5及其日志的服务器上部署我的网站。
我想知道是否有可能直接在IIS中以某种方式查看我的ASP.NET错误。不幸的是,使用我的网站时,我无法查看错误的详细信息。
感谢。
答案 0 :(得分:1)
我们在一个小型ASP.NET应用程序中使用这样的东西:
protected void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
try
{
var userName = "<USERNAME not available...>";
if (HttpContext.Current != null && HttpContext.Current.User != null && HttpContext.Current.User.Identity != null)
{
userName = HttpContext.Current.User.Identity.Name;
}
Exception exc = Server.GetLastError();
var logger = new IEMLogger();
logger.Error(string.Format("Application_Error - user: {0}", userName), exc);
// Clear the error from the server
Server.ClearError();
}
catch (Exception /*exc*/)
{
// DOES NOTHING:
// no recursive error reports in case the logging fails...
}
}
这是使用非常防御性的方法检查上下文null,当前用户null等等。 IEMLogger是我们LogçNet的包装器,所以我们没有LogçNet的依赖性遍布各地......
编辑:请注意Global.asax中的这个Application_Error事件处理程序是您应该拥有的异常处理程序的最后一个手段,它会捕获所有未处理的异常但是 NOT 替换你应该在应用程序类中应该拥有的try / catch块。让那些尝试在您的应用程序的代码中按需捕获并使用相同的方法与记录器类,在异常被抛出的地方记录异常...这取决于您的异常和错误处理的整体方法,然后如果你去Log4Net,NLog或其他记录器一切都是一个细节...
答案 1 :(得分:0)
您可以添加网站或网页,以便显示事件日志(使用密码/密钥保护;)
以下是一个示例,您可以使用http://www.aspheute.com/english/20000811.asp
答案 2 :(得分:0)
我们做的是挂钩Global.asax中的Application_Error事件,使用Context.Server.GetLastError()
获取对错误的引用并登录到我们自己的Event表。
然后你可以简单地将它绑定到GridView,或者使用搜索功能扩展等。
答案 3 :(得分:0)
您可以使用以下方法查看事件查看器中的错误
要打开事件查看器,
1)单击开始,
2)单击控制面板,
3)单击“性能和维护”,
4)单击“管理工具”,
5)然后双击事件查看器。