Привнесите недавно обновленный контент на веб-сайт - PullRequest
0 голосов
/ 22 ноября 2010

Какие технологии можно использовать на моем веб-сайте для ежедневного обновления свежего контента, такие как новостная лента RSS с известного новостного сайта и т. Д.?

1 Ответ

1 голос
/ 22 ноября 2010

[Обновление - Общий ответ]

Как вы уже упоминали, RSS-каналы - ваш лучший способ получать обновленные новости. Они легко потребляются и предоставляют стандартный интерфейс для данных на основе статей. Например, у CNN самая большая история в http://rss.cnn.com/rss/cnn_topstories.rss. При просмотре новостных сайтов с помощью Firefox он отображает значок RSS в адресной строке, если на сайте есть RSS-каналы, что облегчает поиск каналов.

<ч /> Поскольку вы помечаете это как C # и ASP.Net, я отвечу на него с точки зрения кодирования.

Многие новостные сайты предлагают RSS-каналы, и их можно использовать с классом SyndicationFeed , представленным в .Net 3.5. Класс SyndicationFeed поддерживает как Atom 1.0, так и RSS 2.0.

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

Вот краткий пример.

// Check cache for data
IEnumerable<SyndicationItem> items = Cache["NewsFeed"] as IEnumerable<SyndicationItem>;
if (items == null)
{
    // Not in cache, go get it!
    try
    {
        SyndicationFeed news = SyndicationFeed.Load(XmlReader.Create("http://www.news.corp/feed.xml"));
        items = news.Items;
    }
    catch
    {
        items = new List<SyndicationItem>();
    }
    // Add the items to the cache
    Cache.Insert("NewsFeed", items, null, DateTime.Now.AddHours(1.0), TimeSpan.Zero);
}
// Bind your data somewhere
...