Чтобы общаться со службой WCF по стандартным HTTP-глаголам, необходимо использовать компоненты WCF REST.
В .NET 3.5 SP1 есть стартовый комплект WCF REST, который вам понадобится (он не входит в базовый пакет).
Если у вас есть это, вы можете определить конечную точку в вашей службе WCF с помощью webHttpBinding
, и это в основном должно позволить вам определять операции GET, POST, PUT и DELETE.
Посетите Центр разработчиков WCF REST , где вы найдете множество официальных документов, учебных пособий, пошаговых инструкций и скринкастов, показывающих, как именно все это сделать.
В двух словах, вы бы украсили свои сервисные методы, которые вы хотите предоставить через HTTP REST, с атрибутами WebGet
или WebInvoke
и шаблоном URL - что-то вроде:
[ServiceContract]
public partial class YourService
{
[WebInvoke(Method = "POST", UriTemplate = "yourservice/{id}/save")]
[OperationContract]
SomeReturnType YourMethodCall(string someParam);
...
}
, а затем в вашем web.config
(для размещения в IIS) или в app.config
вам нужна конечная точка с правильной привязкой:
<endpoint name="webEndpoint"
address="...."
binding="webHttpBinding"
contract="IYourServiceContract" />
Вам также может понадобиться несколько дополнительных вещей в вашей конфигурации - центр разработки WCF REST должен подробно изучить все детали.