配置Azure Web和SQL UK文化

Tim*_*Tim 4 asp.net iis azure asp-classic azure-sql-database

我最近移动了一个经典的asp站点,它使用SQL Server到Azure共享网站,使用SQLAzure作为数据库.

其地区是北欧(爱尔兰).

我需要数据库在en-GB语言环境下运行,因此从SQL返回的日期格式为DD/MM/YYYY,在IIS中也是如此.但是,它们目前使用MM/DD/YYYY US格式返回.

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

<globalization culture="en-GB"
       uiCulture="en-GB" /> 
Run Code Online (Sandbox Code Playgroud)

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

<% response.write(now()) %>
Run Code Online (Sandbox Code Playgroud)

2/10/2015 11:32:13 AM.
Run Code Online (Sandbox Code Playgroud)

此外,我无法看到门户网站中的位置或通过SQL Server Management Studio我可以将用户设置更改为GB区域设置.我可以看到从SQL返回的日期也是美国日期格式.

除非我遗漏了一些东西,否则这肯定是英国Azure客户的常见问题,但我找不到任何资源来解决这个问题.

Tim*_*Tim 6

好的,以修复"经典Asp"方面.添加具有以下内容的global.asa似乎可以修复英语-GB语言环境

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

    sub Session_OnStart
    'some code
         Session.LCID = 2057
    end sub
</script>
Run Code Online (Sandbox Code Playgroud)

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

 <configuration>
    <system.web>
        <globalization uiCulture="en-GB" culture="en-GB" />
    </system.web>
 </configuration>
Run Code Online (Sandbox Code Playgroud)

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

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