2008-09-11 235 views
16

如何創建在ASP.Net一個RSS feed?是否有任何內置的支持它?如果沒有,可以使用哪些第三方工具?ASP.Net RSS訂閱

我想web表單,沒有MVC,但我想,因爲這不是一個傳統的頁面的差異可能是最小的。

+0

那麼,有多少重複的帖子你什麼時候你張貼了這個創造? :) – 2008-09-11 18:34:24

回答

6

對於內置的,沒有什麼使用XmlDocument的或的XDocument(3.5)建立了RSS所需的XML阻止你。雖然它的價值超過了它的價值。

我使用Argotic Syndication Framework,並設置爲text/xml內容類型服務通過通用處理程序(ashx的)的飼料。

RSSToolkit也不錯。它帶有一個RSSDataSource控件,如果你遇到這種情況。它還包含一個控件,可自動在瀏覽器中插入Feed自動發現所需的元標記。但是,我發現創建提要的構建提供程序是一個有點kludgey。

3

使用可產生實際的RSS的圖書館之一。例如:http://www.rssdotnet.com/

如果你在底部檢查代碼示例頁面: http://www.rssdotnet.com/documents/code_examples.html 你會發現代碼中的ASP.net頁清除內容類型和輸出的RSS。

東西線沿線的(未測試,沒有編譯,剛剛輸入):

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

} 

希望有所幫助。

11

在.NET Framework 3.5添加了一個SyndicationFeed類,其允許用戶創建和/或消耗的Atom 1.0和2.0 RSS格式的飼料。

SyndicationFeeds Class on MSDN

-1

創建一個HTTP處理程序創建一個RSS源