【问题标题】:LinqToTwitter issue connecting with the API in ASP.NET Webforms与 ASP.NET Webforms 中的 API 连接的 LinqToTwitter 问题
【发布时间】:2014-10-17 08:41:53
【问题描述】:

我最近一直在使用 LinqToTwitter,已成功将其整合到几个网站中。一个网站让我很头疼。它似乎可以进行身份​​验证,但是一旦您尝试遍历返回的推文集合,我就会收到错误消息:

“一个现有的连接被远程主机强行关闭”

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        var auth = new SingleUserAuthorizer
        {
            CredentialStore = new SingleUserInMemoryCredentialStore
            {
                ConsumerKey = System.Configuration.ConfigurationManager.AppSettings["TwitterAPIKey"],
                ConsumerSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterSecretKey"],
                AccessToken = System.Configuration.ConfigurationManager.AppSettings["TwitterAccessToken"],
                AccessTokenSecret = System.Configuration.ConfigurationManager.AppSettings["TwitterSecretToken"]
            }
        };

        var ctx = new TwitterContext(auth);
        var mytweets = ctx.Status.Where(t => t.Type == StatusType.User && t.ScreenName == "paulpitchford");

        try
        {
            if (mytweets != null)
            {
                foreach (var item in mytweets)
                {
                    tweets.TweetList.Add(TweetParser.ParseTweet(item.Text));
                }
            }
        }
        catch (Exception err)
        {
        }
    }

一碰到这一行就发生错误:foreach (var item in mytweets)

密钥与给定密钥的 API 完美匹配,我看不出我做错了什么。谁能建议我哪里出错了?

谢谢。

保罗。

【问题讨论】:

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


    【解决方案1】:

    LINQ to Twitter 是异步的。这意味着您需要在进入 foreach 循环之前实现查询,如下所示:

       var mytweets =
           await
           ctx.Status.Where(
               t => t.Type == StatusType.User && 
               t.ScreenName == "paulpitchford")
           .ToListAsync();
    

    注意查询中的 awaitToListAsync 运算符。此外,您必须将 async 修饰符添加到 Page_Load,如下所示:

        protected async void Page_Load(object sender, EventArgs e)
    

    【讨论】:

    • 当然!我知道我错过了一些东西。感谢您的帮助。
    • 嗨,我从来没有得到这个工作并离开它,但现在我正在重新审视它,我在linqtotwitter.codeplex.com/discussions/588450fyi 上发布。不幸的是,我将其全部更改为 asyn 无济于事。
    猜你喜欢
    • 2021-09-26
    • 2015-07-13
    • 2011-08-30
    • 1970-01-01
    • 2022-11-14
    • 2020-05-03
    • 2011-07-10
    • 1970-01-01
    • 2020-06-29
    相关资源
    最近更新 更多