示例#1
0
        public async void GamesLoad()
        {
            List <Item> gamesList = new List <Item>();
            Rss         rssResult = await LoadInfo(); //await - признак асинхронной задачи

            gamesList = rssResult.Channel.Items;
            gamesDataGrid.ItemsSource = gamesList;
        }
示例#2
0
        private Task <Rss> LoadInfo()
        {
            Rss rss = null;
            // см. http://qaru.site/questions/44548/user-xmlns-was-not-expected-deserializing-twitter-xml
            XmlRootAttribute xRoot     = new XmlRootAttribute("rss");
            XmlSerializer    formatter = new XmlSerializer(typeof(Rss), xRoot);

            WebRequest  req      = WebRequest.Create(@"https://gamer-info.com/rssflash/");
            WebResponse response = req.GetResponse();

            using (Stream s = response.GetResponseStream())  // пишем в поток.
            {
                using (StreamReader r = new StreamReader(s)) // читаем из потока.
                {
                    rss = (Rss)formatter.Deserialize(r);
                }
            }

            response.Close();             // закрываем поток

            return(Task.FromResult(rss)); // правильно так писать
        }