配置 Azure 网络和 SQL 英国文化

Configuring Azure web and SQL UK Culture

我最近将一个使用 SQL 服务器的经典 asp 站点移动到 Azure 共享网站,使用 SQLAzure 作为数据库。

它的区域是北欧(爱尔兰)。

我需要数据库在 en-GB 区域设置下为 运行,因此从 SQL 返回的日期格式为 DD/MM/YYYY 并且在 IIS 中相同。但是,它们目前使用 MM/DD/YYYY 美国格式返回。

我尝试将以下内容添加到 web.config:

<globalization culture="en-GB"
       uiCulture="en-GB" /> 

但是当我将以下内容添加到页面时,我仍然得到美国日期格式。

<% response.write(now()) %>

2/10/2015 11:32:13 AM.

此外,我无法在门户中或通过 SQL Server Management Studio 的哪个位置看到我可以将用户设置更改为 GB 语言环境。如我所见,从 SQL 返回的日期也是美国日期格式。

除非我遗漏了什么,否则这肯定是英国 Azure 客户的常见问题,但我找不到解决此问题的任何资源。

好的,所以修复 "Classic Asp" 侧。添加具有以下内容的 global.asa 似乎可以修复 English-GB Locale

<script language="vbscript" runat="server">

    sub Session_OnStart
    'some code
         Session.LCID = 2057
    end sub
</script>

对于具有类似问题的 MVC5 应用程序,我读到以下内容应该有效

 <configuration>
    <system.web>
        <globalization uiCulture="en-GB" culture="en-GB" />
    </system.web>
 </configuration>

但是在 Azure 中,我无法使用此方法解决内部服务器错误。
但我确实在 Global.asax 中成功实施了以下内容 正确呈现 en-GB 日期格式:

protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
   {
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
   }