每当我尝试发出任何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响应。
调试器中没有抛出任何异常,应用程序就会挂起。
答案 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)