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(); }
public List<Message> GetUserTweets(int contactid, int count) { var MessageCount = 10; var twitterAccounts = Global.DaoFactory.GetContactInfoDao().GetList(contactid, ContactInfoType.Twitter, null, null); if (twitterAccounts.Count == 0) throw new ResourceNotFoundException( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = "", description = SocialMediaResource.SocialMediaAccountNotFoundTwitter } )); var apiInfo = TwitterApiHelper.GetTwitterApiInfoForCurrentUser(); TwitterDataProvider twitterProvider = new TwitterDataProvider(apiInfo); List<Message> messages = new List<Message>(); foreach (var twitterAccount in twitterAccounts) { try { messages.AddRange(twitterProvider.GetUserTweets(twitterAccount.ID, twitterAccount.Data, MessageCount)); } catch (ResourceNotFoundException ex) { throw new ResourceNotFoundException( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = ex.Message, description = String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, twitterAccount.Data) } )); } catch (Exception ex) { throw new Exception( Newtonsoft.Json.JsonConvert.SerializeObject( new { message = ex.Message, description = String.Format("{0}: {1}", SocialMediaResource.ErrorUnknownTwitterAccount, twitterAccount.Data) } )); } } return messages.OrderByDescending(m => m.PostedOn).Take(MessageCount).ToList(); }
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(); }