TwitterResponse导致Silverlight挂起

时间:2012-01-02 02:39:58

标签: vb.net silverlight silverlight-oob twitterizer

每当我尝试发出任何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响应。

调试器中没有抛出任何异常,应用程序就会挂起。

1 个答案:

答案 0 :(得分: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)