private void RefreshWorker_DoWork(object sender, DoWorkEventArgs e) { // retrieve id argument string id = e.Argument as string; // call twitter api TwitterClient client = new TwitterClient(_username, _password); DirectMessages directMessages = null; try { if (string.IsNullOrEmpty(id)) { directMessages = client.DirectMessages(); } else { directMessages = client.DirectMessages(id); } client.Close(); e.Result = new DirectMessagesResult { Id = id, DirectMessages = directMessages }; } finally { client.Abort(); } }