|
|
|||||||||||||||||||||||||||||
|
RSS в ASP.NET MVCИсточник: progblog
Сделать RSS feed в ASP.NET MVC достаточно просто. Для начала создадим класс RssActionResult, унаследованный от ActionResult следующим образом:
public class RssActionResult : ActionResult
{
public SyndicationFeed Feed { get; set; }
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.ContentType = "application/rss+xml";
Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(Feed);
using (XmlWriter writer = XmlWriter.Create(context.HttpContext.Response.Output))
{
rssFormatter.WriteTo(writer);
}
}
}
В RssActionResult мы возвращаем серверный заголовок content-type с типом application/rss+xml. Для форматирования rss фидов используется стандартный Rss20FeedFormatter класс, позволяющий возвращать структурированный xml стандарта RSS 2.0. Теперь просто создаём action, например такой:
public ActionResult Feed()
{
SyndicationFeed feed =
new SyndicationFeed("ProgBlog RSS",
"подписка",
new Uri("http://www.progblog.ru/Feed"),
"TestFeedID",
DateTime.Now);
SyndicationItem item =
new SyndicationItem("Первый пост",
"Содержание первого поста",
new Uri("http://www.progblog.ru/First-post"),
"TestItemID",
DateTime.Now);
List<SyndicationItem> items = new List<SyndicationItem>();
items.Add(item);
feed.Items = items;
return new RssActionResult() { Feed = feed };
}
Вот так просто и красиво создаём feed и один элемент подписки, а затем возвращаем в виде RssActionResult'а. Приятного вам программирования :) Ссылки по теме
|
|
|||||||