2010-09-28 31 views
2

我正在使用ASP.Net MVC2併爲我的博客提供RSS源。我在System.ServiceModel.Syndication和Rss20FeedFormatter中使用了開箱即用功能。Rss20FeedFormatter正在生成RSS格式不正確

該Feed工作正常,可以通過Outlook以及我嘗試過的每個瀏覽器閱讀。但是,當我提交RSS飼料作爲一個網站地圖谷歌我有驗證錯誤。
出於好奇,我驗證與供稿驗證的飼料,其報告了類似的問題。

飼料:http://www.chrispfarrell.com/Blog/Rss

如果您在feedvalidator.org彈出該飼料中,您將看到的問題。

實在是沒有自定義代碼回事生成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)); 
     } 

任何意見,爲什麼飼料不會是有效的,以及怎樣形成的?如果需要,我可以發佈FeedResult的代碼,但它的標準代碼非常標準。

由於

克里斯法雷爾

回答

2

進料缺失的<鏈路>元件在根<通道>元件。

與其使用對象初始值設定項,我現在正在使用其中一個接受3個參數(供稿標題,描述和供稿替代鏈接)的構造函數。供稿的第三個參數交替鏈接在根通道<鏈接>中呈現,這使得供稿現在有效。