Реализация нескольких глобализационных календарей, часовых поясов на веб-сайте MVC4 - PullRequest
0 голосов
/ 26 декабря 2018

извините, но я действительно запутался здесь.Я читаю некоторые темы, но они не могут прояснить для меня.

У меня есть веб-сайт MVC 4, который ожидает посетителей со всего мира.Сайт на арабском языке, и я хочу, чтобы все посетители использовали арабский язык, ar-SA культура.

Теперь приходит проблема: даты.Посетители должны иметь возможность выбирать из двух поддерживаемых календарей.Кто-то выберет GregorianCalendar, а кто-то выберет HirijiCalendar.

Q1: где установить календарь (в зависимости от пользователя) для повышения производительности?

Что я сделал, так это базовый контроллерот которого наследуются все контроллеры.В OnActionExecuting я пытаюсь изменить: Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.Calendar на предпочтение посетителя, которое было прочитано из базы данных при входе в систему.

Q2: Повлияет ли эта строка кода: текущий запрос *Только 1017 *, текущий сеанс * только 1019 * (этот посетитель) или целое приложение (все посетители)?Боюсь, что это повлияет на других, я ничего не знаю о сфере действия потоков… Боюсь, что каждый раз менять календарь потоков в OnActionExecuting слишком плохо для производительности…

Q3: Если я храню даты вбазу данных в соответствии с UTC (например, AddedOn, EditedOn), где я должен преобразовать ее в какой-либо часовой пояс посетителя?в коде контроллера?Будет ли сайт делать это медленно, каждый раз, когда я запрашиваю базу данных?Какова лучшая практика здесь?

Спасибо и извините, я новичок.

...