Служба WCF, получающая значения NULL - PullRequest
3 голосов
/ 08 апреля 2011

У меня есть новый веб-сервис, который я пытаюсь реализовать ... когда я запускаю его в отладчике, вызываемая в сервисе функция останавливается на заданной мной точке останова, но я замечаю, что значение равно нулю ... I Я сжег себя в последний день, пытаясь понять это.

Я прошу прощения, если я кажусь рассеянным или не даю достаточно информации ... Я ценю любую помощь

Я тоже попробовал это у Фиддлера; он останавливается в точке останова, как указано выше.

Я думаю, что мой JSON может быть сумасшедшим?

Звонок от клиента:

 var url = "http://localhost:35798/Service.svc/Test;
 var json = '{"name": "test"}';
 $.ajax({
            type: "GET",
            url: url,
            dataType: "json",
            processData: true,
            data: json,
            contentType: "application/json; charset=utf-8",
            success: function (data) {

                alert("Passed" + data.CheckFileResult);
            },
            error: function (data) {
                alert(data.d);
            }
        });

Услуга:

[OperationContract] 
[WebInvoke(Method="GET", ResponseFormat=WebMessageFormat.Json)] 
public string Test(string name)
 {
    return "hi";
 }

Настройка службы:

<system.serviceModel>
  <behaviors>
    <endpointBehaviors>
      <behavior name="Site.Service1AspNetAjaxBehavior">
        <enableWebScript />
      </behavior>
      <behavior name="Site.ServiceAspNetAjaxBehavior">
        <enableWebScript />
      </behavior>
    </endpointBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

  <services>
    <service name="Site.Service">
      <endpoint address="" behaviorConfiguration="Site.ServiceAspNetAjaxBehavior"
        binding="webHttpBinding" contract="Site.Service" />
    </service>
  </services>
</system.serviceModel>

Ответы [ 2 ]

0 голосов
/ 11 апреля 2011

Я понял это, используя ссылку на сервис для подключения к методам, а затем просмотрел запрос в fiddler и понял, что json действительно деформирован ... Был дополнительный пробел

'{ "name":"test"}'

Спасибо ...

0 голосов
/ 08 апреля 2011

А как насчет синтаксиса этой строки:

var json = '{"name": "test"}'

Разве это не должно быть:

var json = '{name: "test"}';

Редактировать: Ваши первые две строки, кажется, немного не так.Попробуйте:

var url = "http://localhost:35798/Service.svc/Test";
var json = "{name: 'test'}";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...