2014-10-17 3 views
1

최근에 LinqToTwitter를 사용하여 두 사이트에 성공적으로 통합했습니다. 한 사이트가 나에게 두통을주고있다. 당신이 시도하고 트윗 컬렉션을 반복 내가 오류가 반환 자마자하지만 인증에 나타납니다LinqToTwitter 문제가 ASP.NET Webforms의 API와 연결합니다.

:

여기

"기존 연결이 원격 호스트에 의해 강제로 폐쇄되었다"내 코드입니다 foreach는 (mytweets에서 VAR 항목)

키는 API 주어진 키에 완벽하게 일치와 내가 많이 잘못하고 있어요 볼 수 없습니다

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) 
     { 
     } 
    } 

이 오류는 즉시이 줄 안타 발생합니다. 누구든지 내가 잘못 될 수있는 곳을 제안 할 수 있습니까?

감사합니다.

폴.

답변

1

LINQ와 Twitter는 비동기입니다. 쿼리에 기다리고

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

공지 사항 및 ToListAsync 운영자 : 이것은 당신이이처럼 foreach는 루프에 가기 전에 쿼리를 구체화 할 필요가 있다는 것을 의미합니다. 또한,이 같은 를 Page_Load비동기 수정을 추가해야합니다 : 물론

protected async void Page_Load(object sender, EventArgs e) 
+0

을! 나는 뭔가를 놓친다는 것을 알았다. 당신의 도움을 주셔서 감사합니다. – paulpitchford

+0

안녕하세요, 저는이 작업을 한 번도 해 본 적이 없지만 지금은 다시 방문하고 있습니다. http://linqtotwitter.codeplex.com/discussions/588450 fyi에 게시했습니다. 불행히도 asyn을 사용하지 않고 모두 변경했습니다. – paulpitchford