2013-06-19 4 views
0

На нашем веб-сайте ASP.NET MVC 3 отображается содержимое из внешней системы продажи билетов, и запрос этой базы данных замедляет загрузку страницы (мы отображаем ее в нижнем колонтитуле каждой страницы).Как загрузить данные из базы данных один раз в день?

Мы не нашли подход для отложенной загрузки для этого .NET API (Zendesk) и рассматривали возможность загрузки этого контента один раз в день.

Как это реализовать в ASP.NET MVC 3?

Спасибо.

EDIT: Возможно, есть способ установить некоторый контент для загрузки в качестве последнего?

+0

О, есть так много способов сделать это ... что вы пробовали? С какими проблемами вы столкнулись? вы должны обновить вопрос, чтобы включить более подробную информацию и более узкий вид проблемы. – archil

+0

Почему в ASP.NET MVC 3? Для этого будет проще использовать внешнюю и запланированную задачу. – schglurps

+0

Вы можете добавить эти результаты в ASP Cache и установить время истечения срока действия до 24 часов. Или загрузите их с клиентской стороны, используя ajax, как только страница с другим содержимым уже загружена. –

ответ

2

Простым способом является cache данные API, только получение их каждые 24 часа или сброс кеша.

Все зависит от ваших подробных требований.

0

Если у вас есть экземпляр SQL-сервера (или другой RDBMS), вы можете использовать SSIS-задание для получения данных один раз в день, тогда ваше веб-приложение может отображать данные из вашей локальной базы данных.

+0

.NET API предоставляет просто вызов функции, который возвращает коллекцию элементов. – abenci

+0

Затем вы можете использовать wcf-клиент для получения данных, прежде чем сохранять его локально? что вы пробовали? – JamieA

1

Вы можете использовать кеш ASP.NET (System.Web.HttpContext.Current.Cache http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx). Это очень гибкий инструмент для кэширования ваших данных. Вы можете установить скользящий срок действия или зависимости для кеширования элементов.

Смежные вопросы