Мой веб-сервис теперь выглядит так:
[WebInvoke(UriTemplate = "/GetAllAreaNotes", Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[OperationContract, CorsEnabled]
[Description("Request to get all area note")]
AreaNote[] GetAllAreaNotes();
[WebInvoke(UriTemplate = "/GetAreaNotesByIDs", Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[OperationContract, CorsEnabled]
[Description("Request to get area notes by IDs")]
AreaNote[] GetAreaNotesByIDs();
/GetAllAreaNotes уже работает. /GetAreaNotesByIDs должны быть похожими, но я не уверен, как передать массив строк в этом веб-сервисе. Вот мои вопросы:
Мы не можем передать массив строк как часть URL. Если вы хотите передавать параметры через URL-адрес, тип параметра может быть только строкой.
Решение состоит в том, чтобы использовать метод POST:
[WebInvoke(UriTemplate = "/GetAllAreaNotes", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
string[] GetAllAreaNotes(string[] test);
Мы можем включить справочный документ в WCF:
<endpointBehaviors>
<behavior name = "ESEndPointBehavior">
<webHttp helpEnabled = "true"/>
</behavior>
</endpointBehaviors>
В справочном документе мы можем увидеть формат запроса и формат ответа службы.