我在Windows 8开发盒上发生了一个奇怪的问题.在比较运行Kentico的ASP .NET应用程序和控制台应用程序(均在.NET 4.0上运行)时,以下代码行为NumberFormat.NumberDecimalSeparator生成两个不同的值.
var culture = new System.Globalization.CultureInfo("en-ZA");
var separator = culture.NumberFormat.NumberDecimalSeparator;
Run Code Online (Sandbox Code Playgroud)
分离器的价值:
我的区域设置的正确输出是句点.
这怎么可能?当我第一次选择十进制数字的格式化问题时,我认为它可能是一个Kentico错误,但是此测试表明不是这样.对于特定区域设置,CultureInfo的新实例如何返回跨应用程序不同的实例?
Roh*_*and 10
杰森埃文斯的评论指出了我正确的方向.请参阅他发布的链接:ASP.NET应用程序不反映区域设置
事实证明,区域设置是在Windows中按用户存储的.这是我应该知道的.更新应用程序池以自己运行会在两个应用程序中产生相同的结果.
公平地说,仍然令人困惑的是网络服务(应用程序池运行的帐户)的价值是多少.我甚至不确定如何纠正这个问题.
编辑:
如果您需要更新保留帐户的区域设置.你有两个选择.
确保重新启动应用程序池以使设置生效.
| 归档时间: |
|
| 查看次数: |
1836 次 |
| 最近记录: |