Эти указания не относятся к вашему стеку (c#
, asp.net
), но я бы определенно не рекомендовал делать что-либо из цикла запрос-ответ вашего веб-приложения . Это должно быть сделано в асинхронном режиме, но результаты могут предоставляться из базы данных, которую вы заполняете записями фида.
Вероятно, вам придется
построить архитектуру, где вы
опросить каждый канал каждые X минут . Использует ли он работу cron
, или
демон, который работает непрерывно,
вам придется опросить каждый канал один
после другого (или с каким-то
параллелизма, но дизайн
тот же самый). Пожалуйста, используйте
HTTP заголовки лайков Etags и
If-Modified, чтобы избежать опроса данных
это не было обновлено.
Затем вам нужно будет разобрать
кормит себя. Это очень вероятно
что вам придется поддерживать
различные разновидности RSS и Atom , но большинство парсеров фактически поддерживают
both.1.
Наконец, вам придется хранить
записи и, что более важно, перед
Вы вставляете их, убедитесь, что вы
еще не добавил их. Вы
следует использовать id
или guid
для записей, но это вероятно
что вам придется использовать свой собственный
Система тоже (ссылки, хэш ...), потому что
многие каналы не имеют их.
Если вы хотите уменьшить количество опросов, которое вам придется делать, сохраняя при этом своевременные результаты, вам придется реализовать PubSubHubbub для каналов, которые его поддерживают.
Если вы не хотите иметь дело с какой-либо из многочисленных проблем, выявленных ранее (опрос своевременно, анализ содержимого, различие в сохранении уникальности записей ...), я бы рекомендовал использовать Superfeedr поскольку это касается всех болевых точек.