在自定义错误页面上显示特定的错误消息
我知道可以在 asp.net 中通过在 web.config 中添加以下行来在 Web 应用程序中创建自定义错误页面:
<customErrors mode="RemoteOnly" defaultRedirect="frmErrorPage.aspx" />
我必须为我的 Web 应用程序执行此操作,因为它显然比让程序用它丑陋的默认错误页面轰炸了。我的自定义错误页面只有客户的徽标和一条简短的消息,显示“发生错误。请返回主页”。
现在的问题是,当客户报告错误时,我无法知道导致错误的原因。
有没有办法让实际的错误消息也出现在这个自定义错误页面上?
I know it's possible in asp.net to create a custom error page in a web app, by putting the following line in the web.config:
<customErrors mode="RemoteOnly" defaultRedirect="frmErrorPage.aspx" />
I have had to do this for my web app, since it is clearly much tidier than letting the program bomb out with it's ugly default error page. My custom error page just has the customer's logo and a brief message saying "Error has occurred. Please return to homepage"
The trouble now is that I have no way of knowing what caused the error, when a customer reports it.
Is there a way to make the actual error message appear on this custom error page too?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该使用日志记录来了解错误发生的时间/地点/内容。自定义错误页面的要点是不允许最终用户看到为什么会出错,因为显然这可能会带来安全风险。考虑使用 ELMAH。它会自动为任何未捕获的异常创建一个漂亮的 Web GUI。当您自己发现错误时,您还可以创建日志。
如果您确实选择使用 ELMAH,我还强烈建议使用 NuGet 包管理器 安装它
You should be using logging to know when/where/what errors occured. The POINT of the custom error page is to not allow the end user to see why it messed up because obviously that could be a security risk. Look into using ELMAH. It automatically creates a nice web gui for any uncaught exceptions. And you can also create logs when you catch the errors yourself.
If you do chose to use ELMAH, I would also strongly recommend installing it with the NuGet package manager