【发布时间】:2009-01-26 16:36:02
【问题描述】:
我们有一个使用 asp.net 2.0 文化的多语言网站。当前文化是通过重写为查询字符串的 url 设置的。 (~/es/blah.aspx 是 ~/blah.aspx 的西班牙语版本 - 重写为 ~/blah.aspx?lang=es)
测试文化的代码如下:
System.Globalization.CultureInfo ci;
try
{
ci = new System.Globalization.CultureInfo(Request.QueryString["lang"] ?? string.Empty);
}
catch
{
ci = new System.Globalization.CultureInfo(string.Empty);
}
如果没有设置文化,则默认为英语,127。当有文化时,该页面上的所有链接都会在前面加上正确的文化名称。
蜘蛛不知何故获得了 ~/www.test.com/blah.aspx 形式的一些链接,并以 www.test.com 的文化重创我们的网站,并淹没了我们的错误记录。
除了捕获异常之外,还有什么方法可以测试文化名称是否有效?
【问题讨论】: