Кэширование и повторное использование элементов управления во время выполнения? - PullRequest
1 голос
/ 28 мая 2011

Я разрабатываю приложение, которое среди своих функций позволяет пользователям вводить в систему новые объекты (например, продукт). При создании нового продукта пользователь может выбрать категорию, а затем программа переходит к загрузке любого количества пользовательских атрибутов для этой категории, которые пользователь установил ранее.

Программа загружает и отображает атрибуты без проблем. Однако проблема в том, что могут существовать сотни различных категорий со своими собственными наборами атрибутов. Из-за этого я не хочу запрашивать базу данных и настраивать элементы управления каждый раз, когда пользователь переключается на другую категорию продукта.

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

У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ: Просто чтобы уточнить, мой вопрос касается кэширования элементов управления , а не атрибуты (данные) .

Ответы [ 2 ]

1 голос
/ 28 мая 2011

Проведя некоторые исследования, я пришел к выводу, что лучше всего создать контейнер UserControl и заполнить каждый из них необходимыми атрибутами и их элементами управления, а затем кэшировать этот UserControl в словаре. После тестирования я заметил, что это чрезвычайно эффективно, а также fast .

0 голосов
/ 28 мая 2011

Что касается кэширования, вы можете проверить блок приложения Caching в разделе Patterns & Practices здесь , вы можете использовать этот блок для кэширования данных из БД, если вы знаете, что они не так сильно измениться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...