извините, но я действительно запутался здесь.Я читаю некоторые темы, но они не могут прояснить для меня.
У меня есть веб-сайт MVC 4, который ожидает посетителей со всего мира.Сайт на арабском языке, и я хочу, чтобы все посетители использовали арабский язык, ar-SA
культура.
Теперь приходит проблема: даты.Посетители должны иметь возможность выбирать из двух поддерживаемых календарей.Кто-то выберет GregorianCalendar
, а кто-то выберет HirijiCalendar
.
Q1: где установить календарь (в зависимости от пользователя) для повышения производительности?
Что я сделал, так это базовый контроллерот которого наследуются все контроллеры.В OnActionExecuting
я пытаюсь изменить: Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.Calendar
на предпочтение посетителя, которое было прочитано из базы данных при входе в систему.
Q2: Повлияет ли эта строка кода: текущий запрос *Только 1017 *, текущий сеанс * только 1019 * (этот посетитель) или целое приложение (все посетители)?Боюсь, что это повлияет на других, я ничего не знаю о сфере действия потоков… Боюсь, что каждый раз менять календарь потоков в OnActionExecuting
слишком плохо для производительности…
Q3: Если я храню даты вбазу данных в соответствии с UTC (например, AddedOn, EditedOn), где я должен преобразовать ее в какой-либо часовой пояс посетителя?в коде контроллера?Будет ли сайт делать это медленно, каждый раз, когда я запрашиваю базу данных?Какова лучшая практика здесь?
Спасибо и извините, я новичок.