Мы создаем механизм шаблонов текста из пользовательского модуля HttpModule, который заменяет теги в нашем HTML целыми фрагментами текста из файла XML.
В настоящее время файл XML загружается в память в виде словаря строк / строк, поэтому поиск / замена, выполняемые модулем HttpModule, могут быть очень быстро выполнены с использованием регулярных выражений.
Мы стремимся расширить использование этого, хотя и для объединения больших и больших разделов заменяемого текста, и я обеспокоен тем, чтобы сохранить больше подробного текста в памяти за один раз как часть Словаря, особенно когда мы используем ASP. NET кеширование для многих целей.
Есть ли у кого-нибудь предложения по более эффективной и масштабируемой структуре данных / стратегии управления, которые мы могли бы использовать?
ОБНОВЛЕНИЕ: В ответ на великое предложение Корбина Марча, приведенное ниже, я не думаю, что это тот случай, когда мы идем по «темной дороге» (хотя я ценю беспокойство). Наше приложение разработано так, чтобы его можно было полностью перерисовывать для разных клиентов, вплоть до текста в любом месте страницы, включая возможность использования нескольких языков. Техника, которую я описал, оказалась наиболее гибким способом справиться с этим.