Який підхід / технології / інструмент .NET REST я повинен використовувати?


16

Я впроваджую веб-службу RESTful та кілька клієнтських додатків, які в основному знаходяться в Silverlight. Я знаходжу багато варіантів для розробки як на сервері, так і на стороні клієнта API, але не впевнений, який найкращий підхід. Мене хвилює стабільність, а також платформа, яка буде існувати через кілька місяців.

Ми почали використовувати REST Starter Kit з .NET 3.5, але перейшли до нового веб-API WCF під час оновлення до .NET 4.0. Вся їх документація вказує, що WCF Web API є заміною RSK. Однак Web API є лише у Preview 4 і не включає підтримку клієнтів Silverlight або Windows Phone 7 (поки що).

WCF Web API виглядає як обгортка поверх матеріалів WCF WebHttp Services, що надаються в System.ServiceModel.Webбібліотеці, що дозволяє мені думати, що, можливо, було б простіше просто перейти із вбудованими матеріалами, але Web API пропонує деякі приємні функції.

Я спеціально зав'язаний, намагаючись визначити найкращий курс для клієнта. Головна моя вимога - мені потрібно швидко та легко підтримувати десяріалізацію об'єктів на стороні клієнта. Веб-API пропонує приємну бібліотеку клієнтів, але не має версії Silverlight.

Я хотів би скористатися останнім підходом та набором інструментів, який активно розробляється та підтримується.

  1. По-справжньому застарілий комплект REST Starter?

  2. Хтось мав успіх у застосуванні інструментарію веб-API WCF?

  3. Чи є заслуга у використанні будь-якого із цих вбудованих функцій WCF WebHttp Services, знайдених у System.ServiceModel.Web?

  4. Чи існує єдине рішення, яке працює для будь-якого клієнта (веб, Silverlight тощо)?

Які пропозиції ви маєте?


Я настійно рекомендую скористатися
servicetack

Відповіді:


6

Просто для подальшої роботи та закриття публікації, за допомогою Preview 5, веб-API WCF здійснив величезний стрибок вперед, що робить його надзвичайно простим у створенні REST API. І хоча поточна база даних Codeplex не включає клієнта Silverlight, там є інструментарій, і мені вдалося легко викреслити частини Async-CTP з відкритого коду та створити версію SL.

Я настійно рекомендую всім, хто зацікавлений потрапити в REST за допомогою WCF, зазирнути в рамки: http://wcf.codeplex.com .

FYI - Це буде невід'ємна частина .NET 4.5 і в даний час переписується для роботи на тій же основній базі, що і ASP.NET MVC (хоча, як мені кажуть, це все одно підтримуватиме самостійний хостинг).


1

Я не використовував REST Starter Kit, але як я зараз пишу. NET 4.0 WCF REST API, я впевнений, що він все ще існує :)

Я рекомендую вам поглянути на одата. Його дивовижно швидко та просто кодувати та чудово грає із сріблястим світлом.


Однією з особливостей, запропонованих інструментарієм WCF Web API, є підтримка OData, яка чудово працює. Але відсутність версії Silverlight мені не допомагає. Як ви обробляєте дезаріалізацію на стороні клієнта?
SonOfPirate

Я це робив лише за допомогою сріблястого світла WP7. Що я щойно додав референс-сервіс і назвав це. Ви можете просто скористатися веб-клієнтом і дезаріалізувати відповідь самостійно, хоча якщо це буде краще для вас. Це не важко
Tom Squires

Я не думав використовувати WebHttpBinding, щоб включити REST з WCF підтримував мекс-кінцеву точку. Як ви додаєте посилання на послугу? Це було б моє перевагу над спільним використання бібліотеки, що містить мої договори даних.
SonOfPirate

Так, я щойно додав обслуговування. Можливо, вам потрібно буде визначити кінцеву точку у файлі конфігурації.
Том Сквайрс

Щойно я дізнався (важкий шлях), що Silverlight не підтримує WebHttpBinding. Таким чином, навіть якщо мені вдалося виставити кінцеву точку mex та Додати службну довідку, служба не здійснила б дзвінок, оскільки не могла вирішити кінцеву точку.
SonOfPirate

1

WebF API WCF не надає жодної інформації про метадані, яку ви використовували б для створення проксі сервісу, і, таким чином, зможете додати посилання на службу. Він призначений для легкого виробництва REST-послуг під парасолькою WCF, як і в рамках ASP.NET MVC 4 Web API.

Тому немає підтримки для WP7 або Silverlight, але вона майже ідеальна для решти Інтернету.

Однак WCF Data Services виглядає як потрібний кандидат, він дозволяє створювати RESTful сервіси та легко споживати їх за допомогою Silverlight.


Ми майже рік користуємось веб-API разом із нашим клієнтом Silverlight без жодних проблем.
SonOfPirate
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.