RSS-канал ASP.Net
Как создать rss-канал в ASP.Net? Есть ли что-нибудь встроенное для поддержки? Если нет, какие сторонние инструменты доступны?
Я думаю, что веб-формы, а не MVC, хотя я полагаю, что это не традиционная страница, разница может быть минимальной.
Ответы
Ответ 1
Для встроенного приложения ничего не мешает вам использовать XmlDocument или XDocument (3.5) для создания необходимого XML для RSS. Это больше работает, чем стоит.
Я использую Argotic Syndication Framework и обслуживаю каналы через Generic Handlers (.ashx) с типом контента, установленным в text/xml.
RSSToolkit тоже приятно. Он поставляется с элементом управления RSSDataSource, если вы занимаетесь подобным делом. Он также включает элемент управления, который автоматически вставляет метатег, необходимый для автоматического обнаружения фида в браузерах. Я нашел, что поставщик сборки для создания фидов был немного kludgey.
Ответ 2
В .NET Framework 3.5 добавлен класс SyndicationFeed, который позволяет создавать и/или потреблять каналы в форматах Atom 1.0 и RSS 2.0.
Класс SyndicationFeeds на MSDN
Ответ 3
Здесь RSS-система, созданная разработчиком Microsoft: ASP.NET RSS Toolkit
Ответ 4
Используйте одну из библиотек, доступных для генерации фактического 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();
}
Надеюсь, что это поможет.
Ответ 5
Вы можете взглянуть на Argotic. Это действительно классная рамка.
http://www.codeplex.com/Argotic
Ответ 6
Взгляните на некоторый код, который я дал в другом question, здесь, в SO.
Ответ 7
Здесь отличный учебник, точно названный "Как создать фид синдикации для вашего сайта",
http://dotnetslackers.com/articles/aspnet/How-to-create-a-syndication-feed-for-your-website.aspx
Ответ 8
Создайте обработчик HTTP для создания RSS-канала