首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示自定义错误页问题

显示自定义错误页问题
EN

Stack Overflow用户
提问于 2011-07-27 08:15:06
回答 1查看 244关注 0票数 0

问:

我使用ELMAH错误日志模块和处理程序.

但是我想给用户显示一个很好的错误页面。

我的问题有两部分:

  1. 在此页面中是否有任何首选的设计或信息。(要求) .any建议,链接将是很好的。
  2. 当我评论Clear error行时,错误页会显示给用户,否则错误页面不会appear.Why我们清除错误?以及如何显示错误页面。

代码语言:javascript
复制
 protected void Application_Error(object sender, EventArgs e)
        {
            HttpContext ctx = HttpContext.Current;
            Exception exception = ctx.Server.GetLastError();
            string errorInfo =
               "<br>Offending URL: " + ctx.Request.Url.ToString() +
               "<br>Source: " + exception.Source +
               "<br>Message: " + exception.Message +
               "<br>Stack trace: " + exception.StackTrace;

            ErrHandler.WriteError(errorInfo);

            ctx.Server.ClearError();

        }

代码语言:javascript
复制
   <customErrors mode="On" defaultRedirect="Error.aspx"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 09:55:02

我试试看答案。对于错误页面,我不使用.aspx页面,因为这个页面通过ASP .Net模块,而且一个模块也可能有错误。因此,我推荐一个静态页面(.html 1),仅由IIS提供。当然,我也希望我看到错误页面使用相同的网站主题,这很容易用母版页面实现,也可能是当前会话中的其他信息,比如登录用户等等。所有这些都涉及到与ASP .Net的交互,因此也有可能导致错误并被重定向到默认框架生成的错误页面。因此,一个非常轻的错误页面(相同的颜色,字体样式等),可能有一些图形和清楚的信息,发生了什么,对用户来说就足够了。

对于Elmah,我也使用了一些实践:首先,我不为处理程序使用“通常”的名称,而是使用“访问到elmah-error.ashx”之类的东西。认为每个人都知道elmah.ashx或error.ashx是用来显示服务器端错误的,并且是黑客的好来源。其次,我在授权部分保护它。如果网站有什么问题,而我无法登录,我可以更改web.config以取消保护,看看发生了什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6841319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档