如何在IIS 7.5中查看asp.net事件错误?

如何在IIS 7.5中查看asp.net事件错误?,asp.net,iis-7,iis-7.5,Asp.net,Iis 7,Iis 7.5,目前,我使用管理工具中的事件查看器在本地查看网站某些页面的一些嵌套Asp错误详细信息 目前,我正在服务器上部署我的网站,我只能访问IIS 7.5及其日志 我想知道是否有可能直接在IIS中或以其他方式看到我的ASP.NET的错误。不幸的是,使用我的网站,我无法看到我的错误的详细信息 谢谢。您可以添加网站或页面,以便向您显示事件日志(使用密码/密钥进行保护;) 下面是一个示例,您可以使用它来执行此操作。我们所做的是挂接到Global.asax中的应用程序错误事件,使用Context.Server.G

目前,我使用管理工具中的
事件查看器
在本地查看网站某些页面的一些嵌套Asp错误详细信息

目前,我正在服务器上部署我的网站,我只能访问IIS 7.5及其日志

我想知道是否有可能直接在IIS中或以其他方式看到我的ASP.NET的错误。不幸的是,使用我的网站,我无法看到我的错误的详细信息


谢谢。

您可以添加网站或页面,以便向您显示事件日志(使用密码/密钥进行保护;)


下面是一个示例,您可以使用它来执行此操作。我们所做的是挂接到Global.asax中的应用程序错误事件,使用
Context.Server.GetLastError()
获取错误的引用,并记录到我们自己的事件表


然后,您可以简单地将其绑定到GridView,或使用搜索功能等进行扩展。

我们在一个小型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...
    }
}
受保护的无效应用程序\u错误(对象发送方,事件参数e)
{
//发生未处理错误时运行的代码
尝试
{
var userName=“”;
if(HttpContext.Current!=null&&HttpContext.Current.User!=null&&HttpContext.Current.User.Identity!=null)
{
userName=HttpContext.Current.User.Identity.Name;
}
异常exc=Server.GetLastError();
变量记录器=新的IEMLogger();
logger.Error(string.Format(“应用程序错误-用户:{0}”,用户名),exc);
//清除服务器上的错误
ClearError();
}
捕获(异常/*exc*/)
{
//什么都不做:
//如果日志记录失败,则无递归错误报告。。。
}
}
这是使用一种非常防御性的方法来检查上下文null、当前用户null等等。IEMLogger是我们对LogçNet的包装器,因此我们不需要将LogçNet的依赖关系分散在各个方面


编辑:请注意,Global.asax中的此应用程序错误事件处理程序是您应该拥有的异常处理程序的最后手段,它会捕获所有未处理的异常,但不会替换应用程序类中应该拥有的try/catch块。让那些人根据需要在应用程序的代码中尝试捕获,并使用与logger类相同的方法来记录抛出异常的地方的异常。。。这取决于您处理异常和错误的总体方法,如果您选择Log4Net、NLog或其他记录器,则所有内容实际上都是一个细节…

您可以使用以下方法在事件查看器中查看错误。
要打开事件查看器,
1) 单击开始,
2) 单击控制面板,
3) 单击性能和维护,
4) 单击管理工具,

5) 然后双击事件查看器

您没有发现他无法访问物理机器/服务器。