IServiceХостинг служба WCF POST не работает
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest
)]
string SampleMethod(string UserID, string SID, string TypeID);
Применение
$.ajax({
url: serviceurl,
data: '{UserID: 12345, SID: 23123 ,TypeID: 123123}',
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
$.each(JSON.parse(data.d), function (id, obj) {
alert(obj.Msg);
});
}
});
Я использовал выше кода (прототип) для службы WCF POST и размещенного на IIS 7.0+
Я не могу назвать эту услугу с помощью ajaxcallback. Я пробовал один и тот же код с методом GET и размещался в IIS. Он отлично работает. Где я ошибаюсь в методе POST?
Ошибка: стиль тела «Bare» не поддерживается «WebScriptEnablingBehavior». Измените стиль тела на «WrappedRequest». Некоторые изменения будут в Web.config - я думаю, –
Вы не можете использовать Bare Request с включенным веб-скриптом. Взгляните на раздел комментариев для аналогичной проблемы Рика Стралла. http://weblog.west-wind.com/posts/2007/Oct/04/WCF-and-JSON-Services – Sarathy