相关疑难解决方法(0)

CultureInfo值在同一文化的应用程序之间有所不同.这是一个错误吗?

我在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)

分离器的价值:

  1. Kentico应用程序:","< - 逗号
  2. 控制台应用程序:"." < - 期间

我的区域设置的正确输出是句点.

这怎么可能?当我第一次选择十进制数字的格式化问题时,我认为它可能是一个Kentico错误,但是此测试表明不是这样.对于特定区域设置,CultureInfo的新实例如何返回跨应用程序不同的实例?

.net asp.net

3
推荐指数
1
解决办法
1836
查看次数

为什么IIS7 Invariant Culture默认为en-US?

我们刚刚设置了一个新的Windows 2008 R2服务器,当它被设置(包括IIS)时,文化设置设置为英语("美国").然后他们根据其他服务器改为英语("英国").没有其他设置被更改.

IIS设置尚未更改,Web服务中没有设置文化的位置,我还检查了machine.config和web.config - 在所有级别.Net全球化设置为在新旧服务器上保持不变.

但是在新的2008R2服务器中,Threading.Thread.CurrentThread.[CurrentUICulture/CurrentCulture].Name是:

UI Culture = en-US (1033)
Culture = en-US (1033)
Run Code Online (Sandbox Code Playgroud)

在旧服务器(2008年,而不是R2)中,它是:

UI Culture = en-US (1033)
Culture = en-GB (2057)  
Run Code Online (Sandbox Code Playgroud)

我们有一些旧的遗留代码,要求默认为en-GB,我需要以与旧服务器相同的方式实现,但无法弄清楚为什么这是默认为en-US而不是en-GB.

我已经检查了这个答案/sf/answers/779473551/,但它没有帮助.(我意识到我可以强迫新服务器这样做).

那么为什么文化违约到了美国呢?

.net globalization iis-7

3
推荐指数
1
解决办法
2686
查看次数

标签 统计

.net ×2

asp.net ×1

globalization ×1

iis-7 ×1