代码之家  ›  专栏  ›  技术社区  ›  Jesse Taber

web.config的“全球化”部分在请求生命周期的何处使用?

  •  2
  • Jesse Taber  · 技术社区  · 14 年前

    我正在考虑在我们的ASP.NET应用程序中使用“全球化”web.config节来提供一个默认的区域性,以应用于所有请求。在某些情况下,我们将在“AcquireRequestState”事件期间以编程方式覆盖此值,但我想知道在请求生命周期的哪个阶段,“全球化”部分的“Culture”和“UICulture”属性将应用于服务请求的线程。

    我假设System.Web命名空间中有如下代码:

    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(webConfigCulture);
    Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(webConfigUiCulture);
    

    其中“webconfigCulture”和“webconfigCulture”表示web.config全球化部分中“culture”和“uiculture”的值。

    有人知道这是在哪里发生的(例如,什么请求/页面事件)?还是我离基地很远?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Guffa    14 年前

    另外,区域性存储在HTTP上下文而不是线程中,并从那里复制到线程。请求可以在页面周期内从一个线程移动到另一个线程,因此区域性必须遵循请求,而不是线程。

    因此,在创建HTTP上下文对象时应用区域性,该对象发生在页面循环的“开始”阶段,在 PreInit 事件。

    您可以在此处阅读更多信息: ASP.NET Page Life Cycle Overview