使用LinqToTwitter更新Twitter状态

时间:2014-06-30 08:27:07

标签: asp.net-mvc linq-to-twitter

这就是要做的事情:

  1. 创建一个MVC应用程序,用户单击该按钮并进入Twitter登录页面
  2. 在提供凭据后,用户被重定向到第二页
  3. 在secong页面上有一个文本框和一个'Tweet'按钮
  4. 输入信息并点击“推文”将更新状态
  5. 我按照LinqToTwitter codeplex页面中的样本直到第二点。

    来自OAuth控制器的代码工作正常,它会重定向回MVC应用的第二页。

    但我错过了一些没有发布状态的内容。

    这是按钮点击中的代码,我从中通过用户输入的状态:

    public ActionResult Status(string status)
        {
            var auth = new MvcAuthorizer
            {
                CredentialStore = new SessionStateCredentialStore()
            };
    
            auth.CompleteAuthorizeAsync(Request.Url);
    
            var twitterContext = new TwitterContext(auth);
    
            TweetAsync(twitterContext, status);
    
            return View(); //return some view to the user
        }
    
        void TweetAsync(TwitterContext twitterCtx, string statusToUpdate)
        {
            var tweet =  twitterCtx.TweetAsync(statusToUpdate);
    
            if (tweet != null)
            {
              // Inform the user about success
            }
         } 
    

    以上两种方法也都在OAuth控制器中。

    有人可以帮帮我吗?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

将您的方法更改为使用异步并返回任务:

公共异步任务状态(字符串状态)     {         //...

    var tweet = await twitterContext.TweetAsync(twitterContext, status);

    // ...
}

然后等待TweetAsync,将响应分配给名为tweet的Status实体。如果你想要一个单独的方法来调用TweetAsync,那么也要进行异步。使用async,您必须使调用链中的每个方法都异步。