2

我正在将 .NET 应用程序部署到另一台机器上。

在控制台应用程序中,值

DateTime.Today.ToLongDateString();

10 December 2009

而在 Web 应用程序中,值是

23 ذو الحجة 1430 < equivalent in higri calendar

Web 应用程序如何从中获取文化,为什么它与控制台应用程序不同?

4

5 回答 5

4

在 web.config 或 machine.config 中,您可以通过global元素为 ASP.Net 应用程序指定默认区域性。

<configuration>
  <system.web>
    <globalization 
      culture="en-US"/>
  </system.web>
</configuration>
于 2009-12-10T10:51:06.543 回答
2

它从机器中获取。请参阅此处如何更改它。

于 2009-12-10T08:29:57.293 回答
2

这可能是机器本身的文化——你说你正在部署到另一台机器。

希望它属于哪种文化?

编辑:您的选择是:

  • 为机器本身设置文化,影响整个 Windows
  • 可能一般为 .NET 设置文化 - 我不确定这在 machine.config 中是否可用。这不是我曾经做过的事情。
  • 为每个页面设置文化
  • 解析或格式化字符串时明确指定区域性

老实说,最后一个是侵入性最小的。像 etc 这样的大多数方法String.Parse都有一个IFormatProvider参数重载。您可以将其指定为相关的CultureInfo.

于 2009-12-10T08:30:28.603 回答
1

我得到了答案!它可能是 ASPNET 或 IIS 用户的注册表记录之一。通过使用 regedit,我发现其中一位用户国际 = 阿拉伯语

感谢: 更改 IIS 6.0 中的默认区域设置

于 2009-12-10T08:52:35.020 回答
0
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
DateTime.Today.ToLongDateString();
于 2009-12-10T08:41:28.473 回答