我有一个ASP.Net webforms应用程序,它使用.Net全球化功能在不同的语言环境中提供.aspx页面。我将自定义错误定义为
<customErrors mode="RemoteOnly" defaultRedirect="Error.htm">
我更喜欢使用default.Net页面作为defaultRedirect来防止无限循环的可能性,以防错误页面本身产生错误,所以我已经针对静态.htm页面。但是,我想在用户最初请求的区域设置中呈现该页面,其中区域设置是从查询字符串中确定的。
实现这一目标的最佳方法是什么?
我考虑过这些选项,但我对其他选项感兴趣:
答案 0 :(得分:1)
如果您的项目文件结构具有特定于语言的文件夹,则一种解决方案是使用每个语言文件夹中指定的<customErrors />
部分创建 web.config
示例项目结构
答案 1 :(得分:0)
如果您可以为错误信息创建动态页面,关注本地化和其他事情,我认为这是最好的方法。
您可以处理 global.asax 上的错误我们开发您自己的 httpmodule (两种方式都有效)您可以通过一种伟大而动态的方式管理应用程序错误,控制所有过程。
包括确定当前的laguage以决定可能的重定向,或者例如显示有关不同类型错误的不同消息。
在我看来,我开始用解决方案来解决问题,该解决方案可以灵活地决定我如何处理不同的案例。
答案 2 :(得分:0)
我的结论是,最佳做法是一般遵循以下问题的答案中概述的方法,只转移到.htm页面而不是.aspx页面: