Есть ли способ изменить TimeZone для запроса в C # (ASP.NET MVC3)? - PullRequest
4 голосов
/ 09 декабря 2011

Здесь можно изменить настройку часового пояса для запроса, например, на Application_AcquireRequestState

тогда для всего запроса, независимо от того, когда я использую Datetime.ToLocalTime (или новый Datetime () и т. Д.), Текущему пользователю / запросу будет показана версия по местному времени?

(или я должен устанавливать часовой пояс для каждого использования ToLocalTime)

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

Вам необходимо управлять информацией TimeZone, используя контекст / хранилище потока. От Культуры к TimeZone нет сопоставления 1: 1 ( это отношение многие: многие ) ( Ссылка ). Есть много способов сделать это - например, использовать пользовательский ThreadPrincipal с элементами контекста или Локальное хранилище потока (TLS)

0 голосов
/ 09 декабря 2011

Переопределите InitializeCulture () в своем представлении и задайте свойства Thread.CurrentThread.CurrentCulture и Thread.CurrentThread.CurrentUICulture для выбранной культуры.

...