ASP.Net RSS提要

时间:2008-09-11 18:30:47

标签: asp.net .net-2.0 webforms rss

如何在ASP.Net中创建RSS订阅源?有没有内置支持它?如果没有,可以使用哪些第三方工具?

我在想网络形式,而不是MVC,不过我认为,因为这不是传统的页面,差异可能很小。

6 个答案:

答案 0 :(得分:11)

.NET Framework 3.5添加了一个SyndicationFeed类,允许您以Atom 1.0和RSS 2.0格式创建和/或使用Feed。

SyndicationFeeds Class on MSDN

答案 1 :(得分:6)

对于内置,没有什么能阻止您使用XmlDocument或XDocument(3.5)来构建RSS所需的XML。但是它的工作量超过了它的价值。

我使用Argotic Syndication Framework并通过Generic Handlers(.ashx)提供Feed,内容类型设置为text / xml。

RSSToolkit也很好。它带有一个RSSDataSource控件,如果你有这种东西。它还包括一个控件,可以自动插入浏览器中的Feed自动发现所需的元标记。然而,我发现用于创建Feed的构建提供程序可能是一个小问题。

答案 2 :(得分:4)

这是由Microsoft开发人员创建的RSS框架:ASP.NET RSS Toolkit

答案 3 :(得分: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();

}

希望有所帮助。

答案 4 :(得分:2)

你可以看看Argotic。这是一个非常酷的框架。

http://www.codeplex.com/Argotic

答案 5 :(得分:-1)

创建HTTP处理程序以创建RSS源