private List <Message> GetUserActivity() { if (SelectedSocialNetworks == null) { return(null); } List <Message> messages = new List <Message>(); if (SelectedSocialNetworks.Contains(SocialNetworks.Twitter)) { TwitterDataProvider twitterProvider = new TwitterDataProvider(TwitterInformation.ApiInfo); foreach (UserAccountInfo accountInfo in TwitterInformation.UserAccounts) { try { messages.AddRange(twitterProvider.GetUserTweets(accountInfo.UserID, accountInfo.ScreenName, MessageCount)); } catch (ResourceNotFoundException) { _ctrlErrorDescription.InnerText += String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, accountInfo.ScreenName); _ctrlErrorDescriptionContainer.Style.Add(System.Web.UI.HtmlTextWriterStyle.Display, "block"); this.InvalidTwitterAccountExist = true; } } } return(messages.OrderByDescending(m => m.PostedOn).Take(MessageCount).ToList()); }
public void MultiThreadTest() { var ai = new TwitterApiInfo { ConsumerKey = "hYd5c8gYxhy3T2Nvj8wLA", ConsumerSecret = "KZGPvAN6kgioWlf0zrGYOzKevLatexuuuJlIhJQg" }; var provider = new TwitterDataProvider(ai); var messages = provider.GetUserTweets(40648902, null, 10); //List<Message> messages = provider.GetUserHomeTimeLine(10); Action dlgFirstThread = StartFirstThread; Action dlgSecondThread = StartSecondThread; var arFirstThread = dlgFirstThread.BeginInvoke(null, null); var arSecondThread = dlgSecondThread.BeginInvoke(null, null); var waitHandles = new WaitHandle[] { arFirstThread.AsyncWaitHandle, arSecondThread.AsyncWaitHandle }; //WaitHandle[] waitHandles = new WaitHandle[] { arFirstThread.AsyncWaitHandle }; WaitHandle.WaitAll(waitHandles); Console.WriteLine("Operation complete. Press any key to close window..."); Console.ReadLine(); }