Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Класс SyndicateFeeds в MSDN

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

Используйте одну из доступных библиотек для создания настоящего 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();

}

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

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

http://www.codeplex.com/Argotic

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top