c#博客阅读器导航无法正常工作

时间:2014-09-10 11:57:34

标签: c# rss atom-feed

我正在制作一个Windows 8商店博客阅读器应用程序,我在从我的应用程序的第一页导航到第二页时遇到问题。第一页提供了一个项目列表,单击一个项目后,您将导航到第二个页面,该页面根据其标题提供有关所选项目的更多信息。执行此操作的代码如下所示。

    public static FeedData GetFeed(string title)
    { 
            // Simple linear search is acceptable for small data sets
            var _feedDataSource = App.Current.Resources["feedDataSource"] as FeedDataSource;

            var matches = _feedDataSource.Feeds.Where((feed) => feed.Title.Equals(title));
            if (matches.Count() == 1) return matches.First();
            return null;


    }

当我运行应用程序时,我得到错误NullReferenceWasUnhandledByUserCode。你调用的对象是空的。有人可以为此提供解决方法。

2 个答案:

答案 0 :(得分:0)

某些Feed链接已损坏,因此返回的Feed数据包含一些空Feed,解析它们会导致此异常。

更改此行代码:

var matches = _feedDataSource.Feeds.Where((feed) => feed.Title.Equals(title));

到:

var matches = _feedDataSource.Feeds.Where((feed) => feed != null && feed.Title.Equals(title));

这会忽略那些空的Feed。

答案 1 :(得分:0)

msdn文档中提供的Windows博客阅读器应用程序教程已经过时了,提到的提要链接也被破坏,因为微软改变了 windows blog 的链接“ windowsteamblog.com “to” blogs.windows.com

我最近一直在尝试这个教程,&不幸的是遇到了很多错误,异常等。为了解决这个问题,我搜索了网络,&也发现剪切没有。那些遇到这个问题的人。我还遇到了一个channel9博客,其中有一个channel9博客列表。所以,我使用了这些链接&将 Windows博客阅读器应用转换为 Channel9博客阅读器应用。

Windows 8博客阅读器相同,主要区别在于源链接已从“ windowsteamblog.com ”或“ blogs.windows.com”更改“to” channel9.msdn.com “。

此外还有一些小的变化,因为它是Windows 8.1应用程序&不是Windows 8应用程序,所以如果你阅读这篇关于将Windows 8应用程序迁移到Windows 8.1应用程序的文章会更好: - migrating a Win 8 app to Win 8.1 app

以下是该应用源代码的链接: - Channel9 Blog Reader App Source Code