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

发布于 2024-12-08 21:54:51 字数 177 浏览 0 评论 0原文

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

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

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

谢谢。

At the moment I use EVENT VIEWER in Administrative Tool to see some nested Asp Errors details for some pages of my website locally.

At the moment I deploying my website on the Server where I have access only to IIS 7.5 and its Logs.

I would like to know if is possible see errors for my ASP.NET directly in IIS or in some other way. Unfortunately using my website I'm not able to see the details for my errors.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

两仪 2024-12-15 21:54:51

我们在一个小型 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 事件处理程序是您应该使用的异常处理程序的最后手段有,这会捕获所有未处理的异常,但会替换您应用程序类中应该拥有的 try/catch 块。在应用程序代码中根据需要进行尝试捕获,并使用与记录器类相同的方法,该方法在引发异常的地方记录异常...这取决于异常和错误处理的总体方法,那么如果你选择 Log4Net、NLog 或其他记录器,一切都是细节......

we are using something like this in a small ASP.NET application we have:

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...
    }
}

this is using a very defensive approach checking also for context null, current user null and so on. the IEMLogger is our wrapper to LogçNet so we do not have dependencies of LogçNet spread all around...

Edit: please notice that this Application_Error event handler in Global.asax is the last resort of exception handler you should have, this catches all unhandled exceptions but does NOT replace the try/catch blocks you should have anyway in your application classes. Have those try catch as needed in the code of your application and use the same approach with a logger class which logs the exceptions at the very places where exceptions are thrown... this depends on your overall approach to exception and error handling, then if you go for Log4Net, NLog or other loggers everything is really a detail...

尬尬 2024-12-15 21:54:51

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

这是一个示例,您可以使用它来执行此操作http://www.aspheute.com/english/20000811.asp

You can add a website or page so will show you the event-log (Protect it with password/key ;))

Here is an example so you can use for doing so http://www.aspheute.com/english/20000811.asp

紫竹語嫣☆ 2024-12-15 21:54:51

我们所做的是挂钩 Global.asax 中的 Application_Error 事件,使用 Context.Server.GetLastError() 获取对错误的引用并记录到我们自己的事件表中。

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

What we do is hook into the Application_Error event in Global.asax, get a reference to the error using Context.Server.GetLastError() and log to our own Event table.

Then you can simply bind this to an GridView, or extend with search functionality etc.

维持三分热 2024-12-15 21:54:51

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

You can use the following method to see for Errors in Event Viewer.
To open Event Viewer,
1) click Start,
2) click Control Panel,
3) click Performance and Maintenance,
4) click Administrative Tools,
5) and then double-click Event Viewer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文