У меня есть служба WCF RESTFul, объявленная таким образом:
[ServiceContract]
public interface IGasPriceService
{
[OperationContract]
[WebGet
(ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetGasPrice/For/ZipCode/{zipCode}"
)]
GasPriceData GetPriceData(string zipCode);
[OperationContract]
[WebGet
(RequestFormat = WebMessageFormat.Xml,
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "/GetGasPrice/For/City/{city}"
)]
GasPriceData GetPriceDataForCity(string city);
[OperationContract]
[WebInvoke
(Method = "POST",
RequestFormat = WebMessageFormat.Xml,
UriTemplate = "/SetGasPrice/For/ZipCode/{zipCode}/Price/{price}"
)]
void SetPriceDataForZipCode(string zipCode, string price);
}
Методы GetPriceData и GetPriceDataforCity работают, но SetPriceDataForZipCode не работает. Кто-нибудь может дать мне знать, почему это не работает.
Когда я выдаю запрос вроде:
http://localhost:7002/SetGasPrice/For/ZipCode/45678/7.80
сообщение, которое я получаю:
EndPoint Not Found
Есть идеи как это исправить?
Я изменил его на
http://localhost:7002/SetGasPrice/For/ZipCode/54568/5.788
и
[OperationContract]
[WebInvoke
(Method = "POST",
RequestFormat = WebMessageFormat.Xml,
UriTemplate = "/SetGasPrice/For/ZipCode/{zipCode}/{price}"
)]
void SetPriceDataForZipCode(string zipCode, string price);
Это дает мне сообщение:
Метод не разрешен.
Есть идеи, как решить эту проблему?