1

每当我尝试发出任何 Twitter 请求时,我的应用程序总是挂起。不过,这不适用于 oAuthUtility,我已成功授权用户使用我的应用程序,但每当我提出请求时,它就会挂起。这是我提出的挂起请求之一:

        Dim response As TwitterResponse(Of TwitterStatus) = TwitterStatus.Update(myFire_tokens.Tokens, TextBox1.Text)
    If response.Result <> RequestResult.Success Then
        MessageBox.Show(response.ErrorMessage, "Error", MessageBoxButton.OK)
    Else
        MessageBox.Show("Tweet Sent", "Awesome!", MessageBoxButton.OK)
    End If

此挂起发生在版本 2.4 上,发布版本:504、516 和 523。在 Silverlight 5 和 4 上。我认为问题在于 TwitterResponse,因为该方法确实被调用(例如,如果我运行上述代码,则推文会发布) 因为我可以在 Fiddler 中看到 OK 响应。

调试器中没有抛出异常,应用程序只是挂起。

4

1 回答 1

1

您应该链接到 SilverlightAsync 项目。

如果你在 Silverlight 端,它会使用这个签名:

public static IAsyncResult Update(
    OAuthTokens tokens, 
    string text, 
    StatusUpdateOptions options, 
    TimeSpan timeout, 
    Action<TwitterAsyncResponse<TwitterStatus>> function)

注意额外的两个参数?

你的代码应该是这样的

TwitterStatus.Update(
    myFire_tokens.Tokens, 
    TextBox1.Text, 
    Nothing, 
    0,
    Sub (response As TwitterAsyncResponse<TwitterStatus>)
        If response.Result <> RequestResult.Success Then
            MessageBox.Show(response.ErrorMessage, "Error", MessageBoxButton.OK)
        Else
            MessageBox.Show("Tweet Sent", "Awesome!", MessageBoxButton.OK)
        End If
    End Sub)
于 2012-01-02T21:51:51.853 回答