public async Task GetFeed() { try { SyndicationClient client = new SyndicationClient(); SyndicationFeed feed; // Although most HTTP servers do not require User-Agent header, // others will reject the request or return a different response if this header is missing. // Use the setRequestHeader() method to add custom headers. client.SetRequestHeader("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); feed = await client.RetrieveFeedAsync(this.uri); // Retrieve the title of the feed and store it in a string. string title = feed.Title.Text; // Iterate through each feed item. feedItems = new List <T>(); foreach (SyndicationItem item in feed.Items) { try { feedItems.Add(ObjectFactory(item)); } catch { } } RSSItemsChanged?.Invoke(this, new EventArgs()); lastUpdated = DateTime.Now; } catch (Exception ex) { Debug.WriteLine(ex.Message); Debug.WriteLine(ex.StackTrace); } }
private void LoadOrDownload() { var appStorage = IsolatedStorageFile.GetUserStoreForApplication(); try { using (var feedFile = appStorage.OpenFile($@"feed.json", System.IO.FileMode.Open)) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List <T>)); feedItems = serializer.ReadObject(feedFile) as List <T>; feedFile.Close(); RSSItemsChanged?.Invoke(this, new EventArgs()); GetFeed(); } } catch (Exception ex) { GetFeed(); } }