2015-02-17 2 views
0

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?

ответ

1

EDIT: добавление дополнительной информации об обернутых и нежных запросах.

В коде есть две проблемы. Первый заключается в том, что вы используете WebMessageBodyStyle.WrappedRequest и пытаетесь передать значения как Bare Request. Вы можете изменить стиль тела сообщения следующим образом.

BodyStyle = WebMessageBodyStyle.Bare 

Вторая проблема заключается в том, что ваш код JSON, который отправляет данные, является неправильным. Это должно быть как показано ниже. (Обратите внимание на кавычки для ключей)

data: '{"UserID": 12345, "SID":23123,"TypeID":123123}' 

Следующая ссылка описывает различия между Голым и завернутым запросом. http://www.wcf.dotnetarchives.com/2013/12/difference-between-webmessagebodystylew.html

Надеюсь, это поможет.

+0

Ошибка: стиль тела «Bare» не поддерживается «WebScriptEnablingBehavior». Измените стиль тела на «WrappedRequest». Некоторые изменения будут в Web.config - я думаю, –

+0

Вы не можете использовать Bare Request с включенным веб-скриптом. Взгляните на раздел комментариев для аналогичной проблемы Рика Стралла. http://weblog.west-wind.com/posts/2007/Oct/04/WCF-and-JSON-Services – Sarathy

Смежные вопросы