Публикация в Twitter из приложения Silverlight 4 - PullRequest
1 голос
/ 12 июля 2010

Я написал метод публикации в Твиттере с помощью веб-клиента.Все прекрасно работает при вызове метода из консольного приложения.

Я перенес метод в Silverlight 4. Вот тут начинается самое интересное.После очистки кода, переключения на асинхронный вызов метода и избавления от красных заштрихованных подчеркиваний код теперь запускается внутри моего приложения SL4.Однако твиты на самом деле не публикуются на моей странице в Твиттере.

Я подключил обработчик событий для события "_completed".Это уволено.Также подключен обработчик события для события «_uploadProgressChanged».Это никогда не будет уволено.Может быть, загрузка загружена слишком быстро?

Есть предложения по устранению этой проблемы?

Обновление № 2 - Исправление ... событие "_completed" НЕ запускается.Я также добавил Fiddler к миксу, чтобы следить за трафиком.Похоже, приложение ничего не передает.Fiddler действительно показывает активность, если я публикую сообщения в stackoverflow (поэтому Fiddler работает).

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...
}

1 Ответ

1 голос
/ 12 июля 2010

Это будет работать только в приложении вне браузера с повышенным доверием, поскольку файл межсайтовой политики Twitter в http://twitter.com/crossdomain.xml не разрешает вызовы для приложений на основе веб-страниц. Michael

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...