Я не могу говорить о преимуществах System.Web.Caching, поскольку, как и вы, я обычно реализую единичные экземпляры структуры данных таблицы поиска. Класс singleton также предоставляет метод InvalidateCache () для обработки редких случаев, когда данные могут измениться.
Если вы создаете библиотеку бизнес-объектов для использования как в asp.net, так и, например, в winforms, то вы можете отказаться от использования System.Web.Caching.
Платформа Business Object, которую я использую, предоставляет базовый класс для таблиц поиска, называемый NameValueListBase . Этот базовый класс предоставляет строго типизированные вспомогательные методы. Вы можете разработать аналогичный базовый класс и предоставить свои собственные вспомогательные методы, в отличие от простого предоставления экземпляра System.Collections.Generic.Dictionary.
Каркас бизнес-объекта, на который я ссылаюсь, называется CSLA.Net и подробно объясняется в Expert C # 2008 Business Objects . Существует также версия книги, доступная для VB.Net.