Вот хорошая статья об услугах REST: http://msdn.microsoft.com/en-us/magazine/dd315413.aspx
Подводя итог, вы хотите, чтобы конечная точка была настроена с помощью webHttpBinding.Эта конечная точка должна иметь поведение с включенным webHttp:
<services>
<service name="TestService">
<endpoint address="test" binding="webHttpBinding" behaviorConfiguration="restBehavior" contract="ITestService"/>
</service>
</services>
Поведение:
<behavior name="restBehavior">
<webHttp/>
</behavior>
Затем в интерфейсе вашего сервиса:
[ServiceContract]
public interface ITestService
{
[OperationContract]
[WebGet(UriTemplate = "test?p={p}", ResponseFormat = WebMessageFormat.Json)]
string Test(string p);
}
Вы можете использовать WebGet илиАтрибут WebInvoke (зависит от того, хотите ли вы получить или отправить) ...