Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Silverlight 4应用程序发布到Twitter_C#_Silverlight_Silverlight 4.0 - Fatal编程技术网

C# 从Silverlight 4应用程序发布到Twitter

C# 从Silverlight 4应用程序发布到Twitter,c#,silverlight,silverlight-4.0,C#,Silverlight,Silverlight 4.0,我写了一个使用webclient发布到Twitter的方法。从控制台应用程序调用该方法时,一切正常 我将该方法迁移到Silverlight 4。这就是乐趣的开始。在清理代码、切换到异步方法调用并去掉红色的扭曲下划线后,代码现在在我的SL4应用程序中运行。然而,这些推文实际上并没有发布到我的推特页面 我为“_completed”事件连接了一个事件处理程序。它被解雇了。 还为“\u uploadProgressChanged”事件连接了一个事件处理程序。它永远不会被解雇。可能是上传太快了 有什么建议

我写了一个使用webclient发布到Twitter的方法。从控制台应用程序调用该方法时,一切正常

我将该方法迁移到Silverlight 4。这就是乐趣的开始。在清理代码、切换到异步方法调用并去掉红色的扭曲下划线后,代码现在在我的SL4应用程序中运行。然而,这些推文实际上并没有发布到我的推特页面

我为“_completed”事件连接了一个事件处理程序。它被解雇了。 还为“\u uploadProgressChanged”事件连接了一个事件处理程序。它永远不会被解雇。可能是上传太快了

有什么建议可以解决这个问题吗

更新#2- 校正不会触发“_completed”事件。我还加入了小提琴手来观察交通情况。应用程序似乎没有发送任何信息。如果我发布到stackoverflow,Fiddler会显示活动(所以Fiddler正在工作)


这只适用于提升的浏览器外信任应用程序,因为的Twitter跨域策略文件不允许调用基于网页的应用程序。
Michael

这只适用于提升信任的浏览器外应用程序,因为的Twitter跨域策略文件不允许调用基于网页的应用程序。
Michael

请发布精简后的代码……这是处理Twitter API的正确方法吗?他们的文档()表明了其他情况,建议使用OAuth和URL参数(
status
)。手头的任务是发布Silverlight的推文。为了简单起见,我们最初使用控制台应用程序开发了它。现在我们希望它出现在Silverlight中。请发布经过裁剪的代码…这是处理Twitter API的正确方法吗?他们的文档()表明了其他情况,建议使用OAuth和URL参数(
status
)。手头的任务是发布Silverlight的推文。为了简单起见,我们最初使用控制台应用程序开发了它。现在我们想要Silverlight的。
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...
}