Exemple #1
0
 private void EndGetResponse(IAsyncResult result)
 {
     try{
         var                   state    = result.AsyncState as MainViewModel.RequestState;
         WebResponse           response = state.Request.EndGetResponse(result);
         Rss.Structure.RssFeed rss      = RssHelper.ReadRss(response.GetResponseStream());
         if (rss.Channel == null)
         {
             Deployment.Current.Dispatcher.BeginInvoke(() => UrlStatus = invalidRssFeed);
         }
         else
         {
             Deployment.Current.Dispatcher.BeginInvoke(() => UrlStatus = validRssFeed);
             if (!isolatedStorageSettings.Contains(RssFeedKey))
             {
                 isolatedStorageSettings[RssFeedKey] = new RssFeed();
             }
             var rssFeed = isolatedStorageSettings[RssFeedKey] as RssFeed;
             rssFeed.RssLink     = state.Address;
             rssFeed.RssTitle    = rss.Channel.Title.ToLower();
             rssFeed.LastUpdated = DateTime.Now;
             rssFeed.Stories     = new ObservableCollection <RssStory>(RssFeed.CloneStories(rss));
         }
     } catch (Exception exception) {
         Debug.Assert(exception != null);
         Deployment.Current.Dispatcher.BeginInvoke(() => UrlStatus = invalidRssFeed);
     }
 }