先扔资源:
GitHub:https://github.com/songshizhao/RssGenerator
NuGet:RssFeedGenerator


RSS到底啥玩意?

说白了就是个“报纸订阅”模式。

以前看博客更新得亲自打开网站,RSS搞了个骚操作:服务器放个xml文件,阅读器定时来瞅一眼,发现有新文章了就直接推给你

所以你不用去网站,也能第一时间知道博主更新了——这才是真·订阅。

虽然现在RSS没那么火了,但你要想给网站加个这功能,ASP.NET搞起来其实挺快。


这个包咋来的?

有个老哥正好要给自己的站加RSS,搜了一圈没找到顺手的小工具,干脆自己写了个,顺手打了个NuGet包扔上去。

技术底子:.NET Standard 2.0

  • 如果你的项目是 .NET Framework 4.6.1 以上、或者 .NET Core/5/6/7/8,直接装包完事

  • 如果老项目还在4.5甚至更早,也别慌,去GitHub把源码拷进去,就一个类,粘上就能用


怎么用?真就三行

1. 装包

Install-Package RssFeedGenerator

2. 写代码(长这样)

var rss = new rss();

rss.channel = new rssChannel
{
    title = "你的博客标题",
    link = "https://你的域名.com",
    description = "随便写点啥,这是站点描述",
    item = new rssChannelItem[] 
    {
        new rssChannelItem
        {
            title = "第一篇文章",
            link = "https://你的域名.com/post1",
            description = "这是文章摘要,读者能先瞅一眼",
            pubDate = DateTime.Now.ToString("r") // 记得转成RSS认的时间格式
        }
    }
};

string xml = RssFeedGenerator.Generator.SerializeRSS(rss);

然后这个 xml 字符串就是标准的RSS源了。

3. 咋输出?

传统ASP.NET(Web Forms / MVC5)
直接存成文件:

File.WriteAllText(Server.MapPath("~/rss.xml"), xml);

ASP.NET Core
直接怼个接口:

[HttpGet("feed")]
public ContentResult GetFeed()
{
    var xml = 上面生成的xml;
    return Content(xml, "application/rss+xml");
}

访问 /feed,RSS阅读器就能认了。


老项目不想升级咋整?

去GitHub把 RssGenerator.cs 这个文件整个复制下来,扔进项目里。

里面就一个类,零依赖,.NET 2.0 都能跑。
然后 Generator.SerializeRSS 照样调,啥也不耽误。


最后说两句

.NET Standard 2.0 写这种小工具确实爽,一次编译,哪都能跑。
NuGet打包也省事,比自己到处拷dll强多了。

总之就是想加RSS的话,装个包,塞几行代码,收工。
不用折腾,不用掉头发。