这就是要做的事情:
我按照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控制器中。
有人可以帮帮我吗?
提前致谢。
答案 0 :(得分:1)
将您的方法更改为使用异步并返回任务:
公共异步任务状态(字符串状态) { //...
var tweet = await twitterContext.TweetAsync(twitterContext, status);
// ...
}
然后等待TweetAsync,将响应分配给名为tweet的Status实体。如果你想要一个单独的方法来调用TweetAsync,那么也要进行异步。使用async,您必须使调用链中的每个方法都异步。