Вопрос о передовом опыте источника данных - PullRequest
0 голосов
/ 02 марта 2011

Это, вероятно, не сложный проект, но я не уверен, что лучший способ справиться с ним.

У меня есть страница ASP.Net, которая должна запросить БД для получения некоторой информации (списококоло 12 адресов электронной почты), которые используются в одностраничном приложении (в основном набор из 8 кнопок, каждая из которых помещает запись в другую таблицу БД, которая включает в себя сообщение [отличается для каждой кнопки] и адрес электронной почты [изfirst db] сообщение должно быть отправлено).

Список адресов редко изменяется.В какой момент мое приложение должно запрашивать адреса в БД?Делать это при нажатии кнопки - пустая трата времени, поскольку я буду делать один и тот же запрос и получать одни и те же результаты снова и снова.Я думал об открытии своего источника данных и использовании SqlDataReader и сохранении списка адресов электронной почты в строковом массиве, но где лучше всего сделать это, чтобы данные сохранялись, но не запрашивались повторно (как вы можете сказать,Я не очень хорош в ASP, и я все еще не совсем понимаю, что такое время жизни переменных - приложение, сеанс или просто время обработки страницы).

Любая помощь приветствуется.

Спасибо

Адам

Ответы [ 4 ]

0 голосов
/ 02 марта 2011

Кэш, скорее всего, вам нужен: http://msdn.microsoft.com/en-us/library/6hbbsfk6.aspx

Короткая версия - вы можете вставить туда объект и установить условия истечения. Например, истечение срока его действия через фиксированный промежуток времени, по истечении определенного промежутка времени без обращения к нему, при изменении другого значения в кэше или при изменении базовых данных в базе данных.

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

0 голосов
/ 02 марта 2011

Вам необходимо изучить использование кэша .

0 голосов
/ 02 марта 2011

Использовать Кэш . Ищите реализацию метода GetProductData () на этой странице

0 голосов
/ 02 марта 2011

На вашем уровне данных поместите результаты запроса в кеш .

. В этом методе вы сначала проверяете, существует ли запись в кеш, если нет, вы вызываете БДи заполнить кеш с результатами.Если это так, вы возвращаете кэшированные значения.

...