Проблема в типе тела операции.Вы объявили его как
[WebInvoke(
Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
UriTemplate = "/SaveUserData")]
string SaveUserData(UserInfo userInfo);
, что означает, что запрос должен быть обернут в объекте с элементом для имени объекта.Если вы отправите этот запрос ниже, он должен работать.
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: url,
data: '{"userInfo":{"EmailID":"praveen", "LevelID": 1}}',
dataType: "json",
processData: false,
success: function (data, textStatus, jqXHR) {
debugger;
},
error: function (jqXHR, textStatus, errorThrown) {
debugger;
}
});
Другой альтернативой является изменение свойства операции BodyStyle
на Bare
, в этом случае ваш исходный запрос был верным.