ASP.NET Globalization: Culture=“auto” page directi

2019-08-02 02:56发布

我运行到哪里使用内置的全球化设施的ASP.NET应用程序崩溃的情况下。

在与文化=“自动”指令,用中性文化为他们的浏览器语言(如“ZH-汉斯”)用户的ASP.NET页面会产生以下异常:

文化“ZH-汉斯”是一个中性的文化。 它不能在格式化和分析使用,因此不能设置为线程的当前文化。

在System.Globalization.CultureInfo.CheckNeutral(CultureInfo的培养)在System.Threading.Thread.set_CurrentCulture(CultureInfo的值)System.Web.UI.Page.set_Culture(字符串值)ASP.somePage_aspx .__ BuildControlTree(somePage_aspx __CTRL)在ASP .somePage_aspx.FrameworkInitialize()

有任何想法吗? 垃圾送入文化/的UICulture参数一般似乎被忽略,但这种情况下,使未处理的异常。

Answer 1:

首先,你可以考虑在你的<%@页%>声明设置的UICulture =“自动”,以及文化=“自动”。

现在,我没有看到我的.NET 4.0(测试版)安装此摄制,所以这可能是在.net 3.5的产品缺陷。

下面是了解中性文化的重要资源和的UICulture和文化之间的区别: http://blogs.msdn.com/ddietric/archive/2008/02/05/yacvcp-yet-another-currentculture-vs-currentuiculture-post的.aspx

希望这是有帮助的。



Answer 2:

我有同样的问题,bonking我的头一会儿墙后发现了正确的答案在我的鼻子。

我的问题是在不理解的CurrentCulture的CurrentUICulture之间的差异。 所不同的是的CurrentCulture用于格式化日期,数字和执行排序, 的CurrentUICulture被用于从资源查找文化的特定字符串。

我有一些代码,看起来像

return input.ToString("C", System.Globalization.CultureInfo.CurrentUICulture);

当它应该被

return input.ToString("C", System.Globalization.CultureInfo.CurrentCulture);

当你开始尝试格式特定的文化项目与非特定的文化,你会得到System.NotSupportedException。



Answer 3:

你不能设置开始请求的文化? (注:asp.net请求可以使您需要连接到移动线程以及线程之间跳转。)



文章来源: ASP.NET Globalization: Culture=“auto” page directive with neutral culture crash?