Я создаю HttpModule, которому необходимо знать значение Thread.CurrentThread.CurrentCulture, установленное в приложении MVC. Это значение в настоящее время устанавливается BaseController, но когда мой метод HttpModule.PostRequestHandlerExecute () срабатывает, он возвращается к тому, что было в Культуре до рендеринга страницы.
Я продублировал это, создав простое веб-приложение со следующими шагами:
- Module.PreRequestHandlerExecute: установить культуру на A
- Page_Load: Культура в настоящее время A. Установите культуру на B
- Module.PostRequestHandlerExecute: текущая культура потоков - A. Я ожидал, что это будет B, но он был изменен между рендерингом страницы и PostRequestHandlerExecute
Есть идеи, почему .Net меняет это значение или как я могу обойти это? Поток такой же, поэтому что-то в .Net должно явно возвращать культуру.