ASP.Net RSS подача - PullRequest
       20

ASP.Net RSS подача

16 голосов
/ 11 сентября 2008

Как мне создать RSS-канал в ASP.Net? Есть ли что-то встроенное, чтобы поддержать это? Если нет, какие сторонние инструменты доступны?

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

Ответы [ 6 ]

11 голосов
/ 15 сентября 2008

.NET Framework 3.5 добавил класс SyndicationFeed, который позволяет создавать и / или использовать каналы в форматах Atom 1.0 и RSS 2.0.

Класс SyndicationFeeds на MSDN

6 голосов
/ 11 сентября 2008

Для встроенных функций ничто не мешает вам использовать XmlDocument или XDocument (3.5) для создания необходимого XML для RSS. Хотя это больше работы, чем стоит.

Я использую Argotic Syndication Framework и обслуживаю каналы через универсальные обработчики (.ashx) с типом содержимого, установленным в text / xml.

RSSToolkit тоже подойдет. Он поставляется с элементом управления RSSDataSource, если вы в такой вещи. Он также включает в себя элемент управления, который автоматически вставляет метатег, необходимый для автоматического обнаружения каналов в браузерах. Тем не менее, я обнаружил, что поставщик сборки для создания фидов немного запутан.

4 голосов
/ 11 сентября 2008

Вот структура RSS, созданная разработчиком Microsoft: ASP.NET RSS Toolkit

2 голосов
/ 11 сентября 2008

Вы могли бы взглянуть на Argotic. Это действительно крутой фреймворк.

http://www.codeplex.com/Argotic

2 голосов
/ 11 сентября 2008

Используйте одну из библиотек, доступных для создания актуальных RSS. Например: http://www.rssdotnet.com/

Если вы проверите страницу с примерами кода внизу: http://www.rssdotnet.com/documents/code_examples.html Вы найдете код для очистки типа контента на странице ASP.net и вывода RSS.

Что-то вроде (не проверено, не скомпилировано, просто напечатано):

public void PageLoad()
{

// create channel
RssChannel _soChannel = new RssChannel();

// create item
RssItem _soItem = new RssItem();
_soItem.Title = "Answer";
_soItem.Description = "Example";
_soItem.PubDate = DateTime.Now.ToUniversalTime();

// add to channel
_soChannel.Items.Add(_soItem.);

// set channel props
_soChannel.Title = "Stack Overflow";
_soChannel.Description = "Great site.. jada jada jada";
_soChannel.LastBuildDate = DateTime.Now.ToUniversalTime();

// change type and send to output
RssFeed _f = new RssFeed();
_f.Channels.Add(channel);
Response.ContentType = "text/xml";
_f.Write(Response.OutputStream);
Response.End();

}

Надеюсь, это поможет.

0 голосов
/ 12 июня 2009

Создание обработчика HTTP для создания RSS-канала

...