Rss20FeedFormatter正在制作格式不正确的RSS

时间:2010-09-28 02:38:01

标签: asp.net-mvc feeds xml-validation rss

我正在使用ASP.Net MVC2并为我的博客提供RSS源。我在System.ServiceModel.Syndication和Rss20FeedFormatter中使用开箱即用的功能。

Feed很好用,可以通过Outlook以及我尝试过的每个浏览器读取。但是,当我将RSS提要作为站点地图提交给Google时,我收到了验证错误 出于好奇,我使用feedvalidator验证了feed报告了类似的问题。

Feed:http://www.chrispfarrell.com/Blog/Rss

如果您在feedvalidator.org上弹出此Feed,您将看到问题。

实际上没有自定义代码来生成RSS。

控制器操作

public FeedResult Rss()
        {
            const string baseUrl = "http://www.chrispfarrell.com/Blog/View/";

            var blogs = _blogService.GetBlogs();
            var feed = new SyndicationFeed
                           {
                               Title = new TextSyndicationContent("Chris Farrell"),
                               Copyright = new TextSyndicationContent("Copywrite Chris Farrell 2010")
                           };

            var postItems = blogs.Take(25)
                .Select(p => new SyndicationItem(p.Title,p.Body,new Uri(baseUrl + p.BlogUrl))
                                 {
                                     PublishDate = p.DateCreated,
                                 });

            feed.Items = postItems;
            return new FeedResult(new Rss20FeedFormatter(feed));
        }  

有关为什么Feed无效且形式良好的任何评论?如果需要,我可以发布FeedResult的代码,但它的代码非常标准。

由于

Chris Farrell

1 个答案:

答案 0 :(得分:2)

Feed缺少< link>根< channel>中的元素元件。

我使用的是一个接受3个参数(feed标题,描述和feed备用链接)的构造函数,而不是使用对象初始值设定项。源通道中的第三个参数备用链接呈现< link>标签使饲料现在有效。