Вот фон, у меня есть веб-сервис от поставщика / партнера, который возвращает большой XML-документ, который я использую для отображения данных.Достаточно просто.Проблема в том, что выполнение сервиса занимает несколько минут.Поставщик возвращает всю нормализованную базу данных в виде XML-документа за один вызов метода, и это медленно.Глупый продавец, но я не могу это контролировать.
У меня есть два вопроса:
Где я могу его кешировать?Диск, база данных, память (Я склоняюсь к тому, чтобы поместить его на диск. Он слишком большой и недостаточно доступен для хранения в памяти. Размещение в БД, вероятно, правильно , но я не хочу писатьETL и где-то есть работа.)
Как мне ее кешировать?Я не могу просто позволить ему истечь, и следующий запрос обновит кеш, потому что это занимает так много времени.Мне нужно обслуживать устаревшие данные во время восстановления кеша.Я могу придумать несколько способов сделать это, но ничего, что кажется простым или очень изящным.Я хочу сделать что-то простое;Я не ищу лучшего когда-либо разработанного решения.
Вот мой план ... пожалуйста, скажите мне, что я идиот, и предложите что-то более простое, что я пропускаю.
Это звучит довольно нелепо для меня, и должен быть лучший способ.
Я использую .Net и IIS6, и при необходимости могу вставить XML в SQL Server.