WCF JSON возвращает данные XML! - PullRequest
1 голос
/ 12 июля 2011

Я создаю веб-сервис REST WCF, который должен выводить JSON, но я получаю XML.

Я использую ResponseFormat = WebMessageFormat.Json

Пожалуйста, помогите мне искать вездеи я не смог найти решение.

Примечание: я даже попробовал предложение из здесь

файл конфигурации

<services> 
  <service name="TestService"> 
     <endpoint address="" 
               behaviorConfiguration="TestServiceAspNetAjaxBehavior" 
               binding="webHttpBinding" 
               bindingConfiguration="webBinding" 
               contract="TestService" /> 
   </service> 
 </services> 
 <bindings> 
     <webHttpBinding> 
         <binding name="webBinding"> 
              <security mode="Transport"> 
              </security> 
          </binding> 
      </webHttpBinding> 
 </bindings>

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Некоторые вещи, которые нужно проверить:

  • Атрибут «name» вашего <service> элемента в web.config должен соответствовать полному имени класса обслуживания - если TestService находится в пространстве имен MyNamespace, то сервис должен быть объявлен как <service name="MyNamespace.TestService"> - другими словами, он должен совпадать с именем, которое у вас есть в файле .svc для вашего сервиса
  • В объявлении конечной точки не указан атрибут behaviorConfiguration; для веб-конечных точек WCF необходимо, чтобы оба webHttpBinding и имели ссылку на поведение, которое объявляет (в вашем случае) <webHttp />
  • Другой вариант - использовать WebServiceHostFactory в файле .svc: <% @ServiceHost Service="MyNamespace.TestService" Factory="System.ServiceModel.Activation.WebServiceHostFactory" Language="C#" debug="true" %>. При этом вам не нужно определять службу в конфигурации.
0 голосов
/ 24 августа 2012

У меня была похожая проблема, потому что у меня был такой тег;

<behavior name="jsonBehavior">
          <enableWebScript/>
          <webHttp helpEnabled="true"/>
        </behavior>

после удаления

<webHttp helpEnabled="true"/>

это исправлено. Может быть, это ошибка. Я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...