2008-09-11 18 views
16

Jak utworzyć kanał RSS w ASP.Net? Czy jest coś, co można by wesprzeć? Jeśli nie, jakie narzędzia innych firm są dostępne?RSS kanału ASP.Net

Myślę o formach internetowych, a nie MVC, chociaż przypuszczam, że nie jest to strona tradycyjna, różnica może być minimalna.

+0

Tak, jak wiele zduplikowanych posty pan stworzenia, kiedy to pisał? :) –

+1

Właściwie znalazłem błąd z przyciskiem "Zadaj pytanie". Jeśli chcesz zagłosować na niego, jest już na stronie użytkownika. –

Odpowiedz

6

Dla wbudowanej, nie ma nic Cię powstrzymuje od korzystania XmlDocument lub XDocument (3.5), aby zbudować wymagane XML do RSS. To więcej pracy niż jest warte.

Używam Argotic Syndication Framework i przesyłam pliki przez Generic Handlers (.ashx) z typem zawartości ustawionym na text/xml.

The RSSToolkit jest również miły. Pochodzi z kontrolką RSSDataSource, jeśli masz do czynienia z takimi rzeczami. Zawiera również kontrolkę, która automatycznie wstawi metatag wymagany do automatycznego wykrywania kanałów w przeglądarkach. Zauważyłem jednak, że dostawca budowania dla tworzenia kanałów jest trochę kludgey.

3

Użyj jednej z bibliotek dostępnych do wygenerowania faktycznego kanału RSS. Na przykład: http://www.rssdotnet.com/

Jeśli zaznaczysz stronę przykłady kodu na dole: http://www.rssdotnet.com/documents/code_examples.html znajdziesz kod dla rozliczeń typu zawartości w ASP.NET Page i wyprowadzania RSS.

Coś wzdłuż linii (nie testowane, nie zebranych, po prostu wpisane):

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

} 

nadzieję, że pomoże.

11

.NET Framework 3.5 dodał Class SyndicationFeed która pozwala na tworzenie i/lub konsumować pasz w Atom 1.0 i RSS formacie 2.0.

SyndicationFeeds Class on MSDN

-1

Załóż obsługi HTTP, aby utworzyć kanał RSS