使用Twitterizer网站上的代码示例我试图使用以下代码向Twitter发布推文:
Dim asyncResult As IAsyncResult = TwitterStatusAsync.Update(
tokens.Tokens,
Tweet.Text,
Nothing,
Timeout,
Function(updateResponse)
If (updateResponse.Result = RequestResult.Success) Then
MessageBox.Show("Tweet Posted")
Else
MessageBox.Show("Error: " & updateResponse.ErrorMessage)
End If
End Function)
但我得到了这个例外:
System.NotSupportedException未被用户代码处理 消息=不支持指定的方法。 堆栈跟踪: 在System.Func
4.BeginInvoke(T1 arg1, T2 arg2, T3 arg3, AsyncCallback callback, Object object) at Twitterizer.AsyncUtility.ExecuteAsyncMethod[TResponse,TProperties](OAuthTokens tokens, String s, TProperties properties, TimeSpan timeout, Func
4 methodToCall,Action1 function) at Twitterizer.TwitterStatusAsync.Update(OAuthTokens tokens, String text, StatusUpdateOptions options, TimeSpan timeout, Action
1函数) at myFire_Silverlight._twitter.Status_Post(mf_object_tweet Tweet) at myFire_Silverlight.TweetDialog.OKButton_Click(Object sender,RoutedEventArgs e) 在System.Windows.Controls.Primitives.ButtonBase.OnClick() 在System.Windows.Controls.Button.OnClick() 在System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 在System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl,EventArgs e) 在MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,Int32 actualArgsTypeIndex,String eventName,UInt32 flags) InnerException:
我做错了什么?
答案 0 :(得分:1)
Ricky在Twitterizer.net上回复了我的表格帖子,他的帖子是:
我问过那些在图书馆那部分工作过的人(其中大部分,我相信),这就是他所说的......
hrm,所以它基本上是两个问题...... 1. Silverlight Async库的那部分不支持发布推文,我只有时间选择性地实现对Async库的SL支持和2.最近更改源(Henriks Async Helpers)已从异步库中删除了所有SL支持,因为SL不支持Func.BeginInvoke。
因此,您可能需要使用非异步方法并将它们放在您自己的异步事件处理程序中。 (也就是说,如果我正确理解了这个问题和他的回答。)