Мне интересно, какое лучшее место на моих уровнях веб-приложений для пользовательских региональных настроек для форматирования вывода столбца даты из запроса результатов базы данных.
Я могу получить региональные настройки из HttpContext.Request и передать их в виде строки на бизнес-уровень, а затем использовать System.Globalisation на уровне бизнес-объектов для создания объекта DateTimeFormatInfo.
т.е. DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;
Бизнес-уровень извлекает данные из уровня доступа к данным, и с помощью селектора запросов LINQ столбец даты может быть отформатирован с помощью объекта dtfi, указанного выше.
Однако мне интересно, действительно ли мне следует передавать строку с языковой культурой на бизнес-уровень и вместо этого загружать другой анонимный тип с данными, возвращаемыми с бизнес-уровня, и добавлять форматирование даты в контроллер.
Это позволит избежать ситуации, когда приложение WPF передает информацию о культуре исполняемой угрозы тому же вызову на бизнес-уровне.