我正在考虑在我们的ASP .NET应用程序中使用'全球化'web.config部分来提供应用于所有请求的默认文化。在某些情况下,我们将在'AcquireRequestState'事件期间以编程方式覆盖此值,但我想知道请求生命周期的哪个阶段'全球化'部分的'culture'和'uiCulture'属性将应用于为请求提供服务的线程。
我假设System.Web命名空间中有一些代码如下所示:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(webConfigCulture);
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(webConfigUiCulture);
其中'webConfigCulture'和'webConfigUiCulture'代表web.config全球化部分中'culture'和'uiCulture'的值。
任何人都知道这是怎么回事(例如什么请求/页面事件)?还是我离开基地?
答案 0 :(得分:1)
在文档中,文化存储在http上下文而不是线程中,并从那里复制到线程。请求可以在页面循环中从一个线程移动到另一个线程,因此文化必须遵循请求,而不是线程。
因此,在创建http上下文对象时应用文化,该对象发生在页面周期的“开始”阶段,在PreInit
事件之前。
您可以在此处阅读更多内容:ASP.NET Page Life Cycle Overview