Вопрос

Я не очень хорошо знаком с WCF, но я подумал, что научусь, пытаясь использовать существующий сервис.

Одним из ОСТАЛЬНЫХ API, о которых я подумал, был Twitter API.Я думал о разработке клиента WPF, который будет просто выводить на экран последние 5 твитов определенного пользователя Twitter.

Мне было интересно, не мог бы кто-нибудь, пожалуйста, кратко описать шаги, которые мне нужно предпринять в Visual Studio для использования этих сервисов, используя WCF (классы, мастера, прокси и т.д.). Я уже знаю, как просто вызвать их с помощью веб-запроса и проанализировать возвращаемый XML-файл - я действительно хочу увидеть часть WCF в работе.

Заранее благодарю аньюан, которая помогает продолжить мое образование :)

Это было полезно?

Решение

Проверьте Кирка Эванса Создание клиента Twitter REST с WCF . Последние улучшения WCF в .NET 3.5 SP1 упрощают многие интерфейсы RESTful.

Также ознакомьтесь с библиотекой декларации API-интерфейса Twitter WCF 3.5 с сайта MSDN.

Вот еще один пример - ПРЕДУПРЕЖДЕНИЕ по состоянию на 2/3/10 ссылка "borked"

Другие советы

Нет никакой пользы в использовании WCF для использования API на основе Http, такого как Twitter API.System.Net.HttpWebRequest более чем достаточен.На самом деле я подозреваю, что у вас возникнут некоторые трудности.WCF намного легче заставить работать, когда у вас есть WCF на обоих концах провода.

Однако, если REST API возвращает содержимое Atom, вы могли бы использовать System.ServiceModel.Классы объединения, чтобы помочь проанализировать ответ.

Редактировать:С тех пор как я написал этот пост, Microsoft выпустила предварительный просмотр новой клиентской библиотеки HTTP, которая еще лучше справляется с использованием RESTful services.
Вот как вы могли бы использовать его для ПУБЛИКАЦИИ в Twitter:

var client = new HttpClient();
client.DefaultHeaders.Authorization = Credential.CreateBasic("username","password");
var form = new HttpUrlEncodedForm();
form.Add("status","Test tweet using Microsoft.Http.HttpClient");
var content = HttpContent.Create(form);
var resp = client.Post("http://www.twitter.com/statuses/update.xml", content);

Если вы хотите получить более подробную информацию об этой клиентской библиотеке, я нахожусь в процессе написания нескольких сообщений в блоге об этом здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top