Hier stelle ich meine "kleine" Sammlung von ASP.net Projekten zur Verfügung.
Der Code bassiert i.d.R. auf dem .NET Framework 3.5.
Weitere Vorschläge und/oder Anregungen nehme ich gerne entgegen.
RSS Feed per RssFeed.ashx anbieten
11.04.2010 posted by Frank Wenner
Hier wird der grundlegende Aufbau von XML Daten für einen RSS Feed aufgezeigt
<%@ WebHandler Language="C#" Class="RssFeed" %>;
using System;
using System.Web;
using System.Collections.Generic;
using System.Xml;
using System.Text;
public class RssFeed : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
// Clear any previous output from the buffer
context.Response.Clear();
context.Response.ContentType = "text/xml";
XmlTextWriter cdRSS = new XmlTextWriter(context.Response.OutputStream, Encoding.UTF8);
cdRSS.WriteStartDocument();
cdRSS.WriteRaw("<?xml-stylesheet type=\"text/xsl\" href=\"RssFeed.xslt\"?>");
cdRSS.WriteStartElement("rss");
cdRSS.WriteAttributeString("version", "2.0");
cdRSS.WriteStartElement("channel");
cdRSS.WriteElementString("title", "was auch immer");
cdRSS.WriteElementString("link", "http://www.was-auch-immer.xyz");
cdRSS.WriteElementString("webMaster", "Info@was-auch-immer.xyz");
cdRSS.WriteElementString("ttl", "60");
cdRSS.WriteElementString("pubDate", DateTime.Now.ToString("R"));
cdRSS.WriteElementString("description", "aktuelle Informationen vom ...");
cdRSS.WriteElementString("copyright", "Copyright "was auch immer", alle Rechte vorbehalten.");
cdRSS.WriteStartElement("item");
cdRSS.WriteElementString("title", Item.Title);
cdRSS.WriteElementString("description", Item.Text);
cdRSS.WriteElementString("author", "Info@was-auch-immer.xyz");
cdRSS.WriteElementString("guid", Item.Date.ToString("yyyy-MM-dd-hh-mm-ss-fff") + "-" + Item.Title);
cdRSS.WriteElementString("link", "http://"
+ context.Request.Url.Host + ":" + context.Request.Url.Port + "/Sites/News.aspx");
cdRSS.WriteElementString("pubDate", DateTime.Now.ToString("R"));
cdRSS.WriteEndElement();
cdRSS.WriteEndElement();
cdRSS.WriteEndElement();
cdRSS.WriteEndDocument();
cdRSS.Flush();
cdRSS.Close();
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}