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); } }