2010-07-12 63 views
1

我寫了一個使用webclient發佈到Twitter的方法。從控制檯應用程序調用方法時,一切正常。從Silverlight 4應用程序發佈到Twitter

我將該方法遷移到Silverlight 4.以下是樂趣開始的地方。在清理完代碼之後,切換到異步方法調用,然後擺脫紅色扭曲的下劃線,代碼現在運行在我的SL4應用程序中。然而,這些推文並沒有發佈到我的twitter頁面。

我連線了一個「_completed」事件的事件處理程序。它被解僱了。 還爲「_uploadProgressChanged」事件連接了一個事件處理程序。它永遠不會被解僱。可能上傳太快?

對此進行故障排除的任何建議?

更新#2 更正...「_completed」事件不會被解僱。我還加入了Fiddler來觀看流量。它沒有出現應用程序正在傳輸任何東西。提琴手確實顯示活動,如果我發佈到stackoverflow(所以Fiddler正在工作)。

public static void PostTwitterUpdate(string handle, string pwd, string tweet) 
{ 
    WebClient webClient = new WebClient(); 

    webClient.Credentials = new NetworkCredential(handle, pwd); 

    Uri uriString = new Uri("http://twitter.com/statuses/update.xml", UriKind.Absolute); 

    try 
    { 
      // event handlers added tongiht for debugging... 
      webClient.UploadProgressChanged += webClient_UploadProgressChanged; 
      webClient.UploadStringCompleted += webClient_UploadStringCompleted; 

      webClient.UploadStringAsync(uriString, "It's just me testing..."); 
    } 

    catch (Exception ex) 
    { 
      throw; 
    } 

} 


static void webClient_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) 
{ 
    // breakpoint set here for debugging... 
} 




static void webClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e) 
{ 
    // breakpoint set here for debugging... 
} 
+0

請發佈修剪後的代碼... – 2010-07-12 01:27:34

+0

這是處理Twitter API的正確方法嗎?他們的文檔(http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses%C2%A0update)指出了否則,表明應該使用OAuth和URL參數('status')。 – gpmcadam 2010-07-12 01:54:49

+0

OAuth正在考慮未來。手頭的任務是從Silverlight發佈推文。爲了簡單起見,我們最初使用控制檯應用開發它。現在我們需要Silverlight。 – DenaliHardtail 2010-07-12 02:10:52

回答

1

這隻會在高處工作的信任外的瀏覽器應用程序,因爲在http://twitter.com/crossdomain.xml Twitter的跨域策略文件不允許基於網頁的應用程序的調用。 邁克爾

相關問題