Pull to refresh

Comments 13

В последнем проекте использовали REST в WCF, при чем изначально использовались soap, и надо сказать что WCF очень хорошо поддерживает REST — вплоть до генерации документов по интерфейсу методов — а так как изначально использовали WCF — переход c SOAP на REST обошелся очень дешево (с учетом передаваемых типов объектов — в 20 методах отдельные объекты с 10-40 свойствами на вход и выход) — изменения заключались в дописывании нескольких строчек в конфиг-файле и в прописывании указанных заказчиком адресов в методах + для нескольких объектов переопределили имя тега в генерируемом XML — в течении дня привели в нужный заказчику формат.

Для приемочных тестов, конечно же, нельзя сгенерировать прокси как для SOAP. Но имея на руках объекты из которых сериализуется XML в WCF REST можно дешево получить прокси — без ручной десериализации.
Да, умеет. И в полезных ссылках даже можно посмотреть, как это делается.
боюсь спросить, что вы имеете ввиду под REST сервисом?
WCF это даже больше чем REST-веб сервис…
Полностью согласен — но мой коммент был к комментарию >REST в WCF — обнять и плакать."
это я как бы ваш подытожил
Ох ваш бы топик, да на месяц пораньше =) Кучу времени потратил на поиск информации на эту тему.
Все равно спасибо!
могу порекомендовать обратить внимание на новый WCF Web API, который разрабатывается при участии Глена Блока (автор MEF). Очень положительные отзывы и очень перспективный проект, который уже стабилен и годен для применения

wcf.codeplex.com/

и материалы по нему
codebetter.com/glennblock/2011/03/07/wcf-web-apis-roundupvolume-2/
-> И последний штрих:

Можно заменить, на дополнительные строчки в web.config

<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<clear/>
<serviceActivations>
<add service="TestService.TestService" relativeAddress="TestService.svc"/>
</serviceActivations>
</serviceHostingEnvironment>
Если сервис хостить в IIS, то *.svc должен быть, его так не заменить.
Автор, большое спасибо за пост.

В дополнение. В моем случае добавлять IIS в зависимости проекта было совершенно ни к чему. Без IIS оно поднимается достаточно просто:

WebServiceHost host = new WebServiceHost(typeof(TestService), new Uri(endPoinUri));
host.Open()

Это полезно когда требуются локальные пойнты, поддерживающие определенное Rest API. Засовываем этот вызов в Windows-службу и все.
Sign up to leave a comment.

Articles