Asp.net mvc 使用LinqToTwitter更新Twitter状态

Asp.net mvc 使用LinqToTwitter更新Twitter状态,asp.net-mvc,linq-to-twitter,Asp.net Mvc,Linq To Twitter,以下是我们要做的: 制作一个MVC应用程序,用户在该应用程序上单击按钮并进入Twitter登录页面 提供凭据后,用户将重定向到第二页 在secong页面上有一个文本框和一个“Tweet”按钮 输入消息并单击“Tweet”将更新状态 直到第二点,我都是按照LinqToTwitter codeplex页面上的样本来做的 来自OAuth控制器的代码运行良好,它确实重定向回MVC应用程序的第二页 但是我遗漏了一些没有发布状态的东西 这是按钮单击中的代码,我从中传递用户输入的状态: public Acti

以下是我们要做的:

  • 制作一个MVC应用程序,用户在该应用程序上单击按钮并进入Twitter登录页面
  • 提供凭据后,用户将重定向到第二页
  • 在secong页面上有一个文本框和一个“Tweet”按钮
  • 输入消息并单击“Tweet”将更新状态
  • 直到第二点,我都是按照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控制器中

    有人能帮我吗


    提前感谢。

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

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

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

    然后等待TweetAsync,将响应分配给一个名为tweet的状态实体。如果您想要一个单独的方法来调用TweetAsync,请将该方法也设置为async。使用async,您必须使调用链中的每个方法都设置为async。

    Ok将尝试这样做,您能告诉我为什么Requee上没有“Access Control Allow Origin”标题吗已存储资源。因此不允许访问源“”。我在FF devtools XMLHttpRequest中看到这一点。请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“”。请确保您没有使用InProc会话-始终是gottcha,因为会话会回收。您可以尝试获取sampl电子应用程序工作-您可以在可下载的源代码中找到。这将有助于解决任何基本的通信问题。我有一些更详细地解释oauth的文档:我还有一个帮助解决oauth 401问题的常见问题解答:谢谢Joe。感谢您的帮助。