По какой-то причине моя служба wcf не получает данные из моего POST правильно.WCF, принимающий пустой int
Это дает мне эту ошибку:
The server encountered an error processing the request. The exception message is 'There was an error deserializing the object of type System.Int32. The value '' cannot be parsed as the type 'Int32'.'
Аякса запрос выглядит следующим образом:
$.ajax({
method: "POST",
contentType: "application/json",
url: "ShopService.svc/Product",
async: false,
data: JSON.stringify({ id: 1 }),
success: function (data) {
returndata = data;
},
error: function (jqXHR, status, error) {
alert(error);
}
});
И сервис-код выглядит так:
[OperationContract]
[WebInvoke(UriTemplate = "/Product", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public Product GetProduct(int id)
{
Product selectedProduct = db.Products.Find(id);
return selectedProduct;
}
Я не знаете, что здесь не так, почему сервер видит идентификатор как пустую строку?
вы можете отправить образец данных для JSon объекта, который вы получите в службе? –
@ Y.Ecarri Я ничего не получаю в сервисе, ошибка происходит до того, как я получу что-нибудь там. – Firenter
Насколько я знаю, вы должны получить строки, а затем проанализировать строки, как показано здесь: http://www.codeproject.com/Articles/167159/How-to-create-a-JSON-WCF-RESTful-Service- in-sec –