2008-09-11 8 views
16

Wie erstelle ich einen RSS-Feed in ASP.Net? Ist etwas eingebaut, um es zu unterstützen? Wenn nicht, welche Tools von Drittanbietern sind verfügbar?ASP.Net RSS-Feed

Ich denke Webforms, nicht MVC, obwohl ich nehme an, da dies keine traditionelle Seite ist, kann der Unterschied minimal sein.

+0

Also, wie viele doppelte Einträge haben Sie erstellen zu erstellen, wenn Sie das geschrieben? :) –

+1

Eigentlich habe ich einen Fehler mit der Schaltfläche "Frage stellen" gefunden. Es ist jetzt auf Uservoice, wenn Sie dafür stimmen wollen. –

Antwort

6

Für eingebaute, gibt es Ihnen nichts stoppt mit XmlDocument oder XDocument (3.5) die erforderlichen XML für RSS aufzubauen. Es ist mehr Arbeit als es wert ist.

Ich verwende die Argotic Syndication Framework und dienen die Feeds durch Generische Handler (.ashx) mit dem Inhaltstyp auf Text/XML eingestellt.

Die RSSToolkit ist auch nett. Es kommt mit einem RSSDataSource-Steuerelement, wenn Sie in dieser Art von Sache sind. Es enthält außerdem ein Steuerelement, das automatisch das Meta-Tag einfügt, das für die Feed-Autodiscovery in Browsern erforderlich ist. Ich fand den Build-Provider für die Erstellung von Feeds jedoch ein wenig kludsey.

3

Verwenden Sie eine der verfügbaren Bibliotheken zum Generieren der aktuellen RSS. Zum Beispiel: http://www.rssdotnet.com/

Wenn Sie die Codebeispiele Seite am Boden überprüfen: http://www.rssdotnet.com/documents/code_examples.html Sie den Code zum Löschen des Inhaltstypen in einer ASP.net Seite und zum Ausgeben des RSS finden.

Etwas entlang der Linien von (nicht getestet, nicht kompiliert, tippte gerade):

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(); 

} 

Hoffnung, das hilft.

11

Das .NET Framework 3.5 hat eine SyndicationFeed Klasse hinzugefügt, die Sie 1.0 und RSS 2.0-Formate zu erstellen und/oder verbrauchen Feeds in Atom ermöglicht.

SyndicationFeeds Class on MSDN

-1

einen HTTP-Handler erstellen RSS-Feed