Ejemplo n.º 1
0
        private static void LoadFeed(object data)
        {
            FeedReaderInfo info = data as FeedReaderInfo;

            try {
                info.Feed = SyndicationFeed.Load(info.Reader);
            } catch {
                info.Feed = null;
            }
        }
Ejemplo n.º 2
0
        SyndicationFeed GetFeed(NavBarItem item)
        {
            string key = item.Caption;

            try {
                if (!FetchedFeeds.ContainsKey(key) || DateTime.Now - LastFeedFetchTime > FeedTTL)
                {
                    using (XmlTextReader reader = new XmlTextReader(string.Format("{0}", item.Tag))) {
                        FeedReaderInfo info      = new FeedReaderInfo(reader);
                        Thread         newThread = new Thread(new ParameterizedThreadStart(LoadFeed));
                        newThread.Start(info);
                        newThread.Join(7000);
                        FetchedFeeds[key] = info.Feed;
                        newThread.Abort();
                    }
                    LastFeedFetchTime = DateTime.Now;
                }
                return(FetchedFeeds[key]);
            } catch {
                return(null);
            }
        }
Ejemplo n.º 3
0
 SyndicationFeed GetFeed(NavBarItem item)
 {
     string key = item.Caption;
     try {
         if(!FetchedFeeds.ContainsKey(key) || DateTime.Now - LastFeedFetchTime > FeedTTL) {
             using(XmlTextReader reader = new XmlTextReader(string.Format("{0}", item.Tag))) {
                 FeedReaderInfo info = new FeedReaderInfo(reader);
                 Thread newThread = new Thread(new ParameterizedThreadStart(LoadFeed));
                 newThread.Start(info);
                 newThread.Join(7000);
                 FetchedFeeds[key] = info.Feed;
                 newThread.Abort();
             }
             LastFeedFetchTime = DateTime.Now;
         }
         return FetchedFeeds[key];
     } catch {
         return null;
     }
 }