.net 4.0 是否需要在每一页上初始化文化()?

.net 4.0 是否需要在每一页上初始化文化()?,.net-4.0,localization,asp.net-4.0,globalization,.net 4.0,Localization,Asp.net 4.0,Globalization,我有一个需要本地化的web表单网站。我的意思是,它是本地化的,我只需要根据域设置正确的语言。比如: protected override void InitializeCulture() { var i = Request.Url.Host.ToLower(); var domain = i.Substring(i.Length - 2, 2); if (domain == "se") { Thread.CurrentThread.CurrentC

我有一个需要本地化的web表单网站。我的意思是,它是本地化的,我只需要根据域设置正确的语言。比如:

protected override void InitializeCulture()
{
    var i = Request.Url.Host.ToLower();
    var domain = i.Substring(i.Length - 2, 2);
    if (domain == "se")
    {
        Thread.CurrentThread.CurrentCulture =
            CultureInfo.CreateSpecificCulture("sv-SE");
        Thread.CurrentThread.CurrentUICulture = new
            CultureInfo("sv-SE");
    }
    else if (domain == "dk")
    {
        Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("da-DK");
        Thread.CurrentThread.CurrentUICulture = new
            CultureInfo("da-DK");
    }
}
我的第一个问题是:我真的必须在每个页面上调用
InitializeCulture()
才能加载正确的资源吗?

第二个问题。我也有一些全球资源。如果第一个问题是,它们是否也设置正确


Ps.
uiCulture=“auto”
enableClientBasedCulture=“true”
在网络配置中是不够的(长话短说)。

是的。您所做的符合标准。 由于您的示例根据URL确定要使用的语言,因此每个页面请求可能需要不同的语言,因此您无法避免对每个页面执行此操作


根据您的第二个问题,是的,所有资源加载都取决于
CurrentCulture
。因此,本地和全局资源都将受到区域性初始化的影响。

是。您所做的符合标准。 由于您的示例根据URL确定要使用的语言,因此每个页面请求可能需要不同的语言,因此您无法避免对每个页面执行此操作


根据您的第二个问题,是的,所有资源加载都取决于
CurrentCulture
。因此,本地和全局资源都将受到区域性初始化的影响。

如果应用程序中的语言在页与页之间没有差异,那么按照回答重用代码是有意义的。
或者最好还是使用http模块解释。

如果应用程序中的语言在页与页之间没有差异,那么按照回答重用代码是有意义的。
或者最好还是使用http模块解释。

有趣。我会调查的!有趣的我会调查的!