ASP.Net RSS订阅源

16

我如何在ASP.Net中创建RSS源?是否有内置支持?如果没有,有哪些第三方工具可用?

我在考虑Webforms,而不是MVC,但我想既然这不是传统页面,区别可能很小。


那么,当你发布这个帖子时,你创建了多少重复的帖子? :) - Chris Upchurch
1
实际上,我发现了“提问”按钮的一个错误。如果您想投票,它现在已经在UserVoice上了。 - Joel Coehoorn
6个回答

11
.NET Framework 3.5新增了SyndicationFeed类,可用于创建和/或消费Atom 1.0和RSS 2.0格式的订阅源。 MSDN上的SyndicationFeeds类

6

对于内置功能,你可以使用XmlDocument或XDocument(3.5)来构建所需的RSS XML。虽然这比较繁琐,但没有阻止你这样做。

我使用Argotic Syndication Framework并通过通用处理程序(.ashx)提供内容类型设置为text/xml的源。

RSSToolkit也不错。如果你喜欢那种控件,它带有一个RSSDataSource控件。它还包括一个控件,将自动插入浏览器中需要的元标记以进行feed自动发现。但是我发现用于创建feeds的构建提供程序有点笨拙。


4

2
使用可用于生成实际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();

}

希望这能帮到您。

2

-1
创建一个HTTP处理程序来创建RSS订阅。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接