У меня есть служба WCF, которая читает данные из XML.Данные в xml меняются каждую минуту.Этот xml очень большой, в нем около 16 тыс. Записей.Разбор занимает около 7 сек.так что это определенно долго.
Теперь все работает следующим образом:
- вызов ASP.NET WCF
- синтаксический анализ WCF xml
- ASP.NET ожидает обратного вызова WCF
- WCF возвращает данные в ASP.NET
, конечно, кэширование выполняется в течение 1 минуты, но после этого WCF должен загрузить данные снова.
Есть ли возможностьсделать что-то, что будет обновлять данные без остановки сайта?Что-то вроде ... я не знаю, двойная буферизация?что будет извлекать старые данные, если нет новых?Может быть, вы знаете лучшее решение?
С наилучшими пожеланиями
РЕДАКТИРОВАТЬ: утверждение, которое занимает больше всего времени:
XDocument = XDocument.Load(XmlReader.Create(uri)); //takes 7 sec.
анализ занимает 70 мс, это хорошо, но этоне проблема.Есть ли лучшее решение, чтобы не блокировать сайт?:)
EDIT2: Хорошо, я нашел лучшее решение.Просто я загружаю XML на жесткий диск и читаю данные с него.Затем другой процесс начинает загружать новую версию XML и заменять старую.Спасибо за участие.