C# 加载SyndicationFeed和异步/等待

C# 加载SyndicationFeed和异步/等待,c#,.net,async-await,xmlreader,syndicationfeed,C#,.net,Async Await,Xmlreader,Syndicationfeed,我们可以通过async/await阅读RSS吗 XmlReader reader = XmlReader.Create("http://localhost/feeds/serializedFeed.xml"); SyndicationFeed feed = SyndicationFeed.Load(reader); 有什么线索吗?好的,伙计们,这是有效的解决方案 private void GetRSS(string rssUrl) { Task.F

我们可以通过async/await阅读RSS吗

XmlReader reader = XmlReader.Create("http://localhost/feeds/serializedFeed.xml");
SyndicationFeed feed = SyndicationFeed.Load(reader);

有什么线索吗?

好的,伙计们,这是有效的解决方案

private  void   GetRSS(string rssUrl)
        {
            Task.Factory.StartNew(() => {
                using (XmlReader r = XmlReader.Create(rssUrl))
                {
                    SyndicationFeed feed = SyndicationFeed.Load(r);
                    Action bindData = () => {
                        lstFeedItems.ItemsSource = feed.Items;
                    };
                    this.Dispatcher.InvokeAsync(bindData);
                }
            });
        }

您的解决方案没有使用async/await,代码太多,我怀疑您的方法在某些场景下容易出现死锁

就这么做吧

var reader = XmlReader.Create("http://localhost/feeds/serializedFeed.xml");
var feed = await Task.Run(() => SyndicationFeed.Load(reader));

你的意思是什么?@diiN_uu是的,你介意提供一个答案吗?问题是SyndicationClient可从最低支持的客户端Windows 8[Windows应用商店应用,桌面应用]获得。我注意到XmlReader有一个异步选项:
XmlReader reader=XmlReader.Create(feedUrl,设置:new XmlReaderSettings{async=true})这有帮助还是有害?