Для начала мы создадим страничку Handler.ashx, как для меня она больше всего подходит для Rss.
Добавим ссылки на библиотеки, что мы будем использовать:
using System.ServiceModel.Syndication;
using System.Xml;
using System.Collections.Generic;
Дальше создаем общее сведение о нашем rss-канале
//Название
feed.Title = new TextSyndicationContent
("AspNet - блог программиста");
feed.Copyright = new TextSyndicationContent
("© 2009 Shulga Leonid");
feed.Description = new TextSyndicationContent
("Блог программиста - советы, картинки, истории, приколы, анекдоты, видео ASP ASP.NET C# LINQ silverlight xaml");
feed.Generator = "Leonid's RSS Feed Generator";
//Cсылка на источник
SyndicationLink link = new SyndicationLink();
link.Title = "AspNet - блог программиста";
link.Uri = new Uri(https://www.aspnet.com.ua/);
feed.Links.Add(link);
//Автор
SyndicationPerson author = new SyndicationPerson();
author.Name="Shulga Leonid";
author.Uri =https://www.aspnet.com.ua/;
feed.Authors.Add(author);
//картинка
feed.ImageUrl = new Uri("https://www.aspnet.com.ua/aspnetrss.gif");
После этого будем наполнять наш канал инфой. Для этого создаем список:
List<SyndicationItem> items = new List<SyndicationItem>();
SyndicationItem item = new SyndicationItem();
item.Id = Guid.NewGuid().ToString();
item.Title = new TextSyndicationContent("Заголовок");
item.Summary = new TextSyndicationContent("Тело");
item.Categories.Add(new SyndicationCategory("Категория не обязательно"));
item.PublishDate = new DateTimeOffset(blog.Date);
items.Add(item);
Добавляем наш список к каналу
feed.Items = items;
Который потом передаем на выход
context.Response.Clear();
context.Response.ContentEncoding =
System.Text.Encoding.UTF8;
context.Response.ContentType = "text/xml";
XmlWriter rssWriter = XmlWriter.Create
(context.Response.Output);
Rss20FeedFormatter rssFormatter =
new Rss20FeedFormatter(feed);
rssFormatter.WriteTo(rssWriter);
rssWriter.Close();
context.Response.End();
Последнее что нам нужно сделать, это показать браузеру что у на сайте есть rss. Для этого на страничках добавляют такой линк в тег <head>
<link rel="alternate" type="application/rss+xml"
href="https://www.aspnet.com.ua/RSSPage.ashx"
title="AspNet - блог программиста" />
Кажись все
|
Приветствую!!! Если создавать страничку Handler.ashx, то в ней по умолчанию уже будет следующий код: public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Привет всем!"); } public bool IsReusable { get { return false; } } } Куда именно нужно вставить код из вашего примера ? Можно пожалуйста немного поподробнее...