Я пытаюсь полностью понять эту тему, и я не верю, что смогу это сделать, если я также не пойму историю рекомендаций в дополнение к текущей рекомендации.(История) Лучшие практики для ASP.NET MVC Интернационализация
Мое краткое описание этой истории приведено ниже, и я хотел бы знать, является ли это в основном правильным?
- ASP.NET 1.1 рекомендуется использование вспомогательных сборок и класс ResourceManager
- ASP.NET 2.0 switched to a recommendation to use .resource files (не загружен в DLL) и доступа к ним с помощью HttpContext.GetGlobalResourceObject
- спутниковых узлов по-прежнему генерируется, но они были созданы невидимо во время выполнения.
- «GetGlobalResourceObject» выполнил работу по проверке информации о культуре заголовков HTTP для вас, одновременно выбрав ресурс.
- ASP.NET MVC, with it's emphasis on testability, reverted back to satellite assemblies/ResourceManager class as the primary recommendation для доступа к ресурсам I18N.
- Наличие сборочных сборок, сгенерированных во время выполнения ASP.NET, несовместимо с модульной тестовой инфраструктурой, пытающейся получить доступ к ресурсам.
- Использование ResourceManager требует, чтобы волосы больше работали для разработчика (потому что они должны писать код для проверки сессии, файла cookie или информации заголовка HTTP для культуры), но также более гибки именно потому, что (1) это позволяет культуре выбранных не только HTTP-заголовками, но и (2) позволяет модульные тесты легко определять, какая культура используется.
Какие важные детали или предостережений я опущено из приведенного выше описания? Мой комментарий MVC по-прежнему считается «текущим» для MVC3 (и MVC4)?