2009-05-05 3 views
10

Каков наилучший способ создания веб-сервиса JSON? У нас есть еще одна команда, которая использует Java, и они настаивают на том, чтобы все коммуникации выполнялись с использованием JSON. Я предпочел бы использовать WCF, а не любую стороннюю структуру.wcf json web service

Я нашел этот блог: http://www.west-wind.com/weblog/posts/164419.aspx, и это говорит о том, что реализация Microsoft ошибочна с хреном M $.

+1

Возможно, вы захотите попробовать самостоятельно, чтобы убедиться, что Рик не работал с битами предварительной версии. –

ответ

-4

В итоге я использовал JayRock. Его фантастическая технология, просто работает. Вы не получаете никаких NullReferenceExceptions, как из этого crap WCF, если вы не настроите его правильно.

+0

Мне сложно понять, почему вы были проголосовали 7 раз , Кажется, вы нашли, что отвечаете лучшим способом работы с веб-сервисом, который возвращает JSON. – pqsk

13

Если вы используете WCF и 3.5 Framework, это не может быть проще. Когда вы помечаете свой OperationContracts с помощью атрибута WebGet, просто установите параметр ResponseFormat в WebMessageFormat.Json. Когда доступ к службе выполняется RESTfully, он вернет данные с помощью DataContractJsonSerializer.

Настоятельно полезно отметить POCOs, которые вы хотите преобразовать в JSON в качестве [DataContract], и отметить каждый сериализуемый элемент как [DataMember]. В противном случае вы попадаете в фанки JSON, как заметил Рик в своем блоге.

+3

хороший пример всего этого: http://stackoverflow.com/questions/2086666/wcf-how-do-return-clean-json/ – Cheeso

4

Я поддерживаю зрелую Open Source альтернатива WCF в ServiceStack, современный, код-первых, на основе моделей, WCF замены веб-служб базы encouraging code and remote best-practices для создания немногословен, сух, high-perfomance, scalable REST web services.

Включает в себя .NET's fastest JSON Serializer и имеет автоматическую поддержку JSON, JSONP, CORS, а также формы-urlencoded/multipart-formdata. Онлайн-демонстрации - хорошее начало, потому что все они используют Ajax.

Кроме того, нет XML конфигурации или код поколения и ваши «однократной записи» C# веб-сервис предоставляет все JSON, XML, SOAP, JSV, CSV, HTML оконечные включен вне коробки, автоматически с крючками, чтобы подключить свой собственный Content Types при необходимости ,

Он также включает в себя generic sync/async service clients, обеспечивающий быстрый, типизированный, клиент-серверный шлюз связи от конца до конца.

Это полный пример всего кода, необходимого для создания простого веб-сервиса, который автоматически без каких-либо конфигурации, зарегистрированных и доступны на всех web data formats on pre-defined and custom REST-ful routes:

public class Hello { 
    public string Name { get; set; } 
} 

public class HelloResponse { 
    public string Result { get; set; } 
} 

public class HelloService : IService<Hello> { 
    public object Execute(Hello request) 
    { 
     return new HelloResponse { Result = "Hello, " + request.Name }; 
    } 
} 

Выше службы можно назвать (без каких-либо отложений шагов/код-ген) в C# с линией ниже:

var client = new JsonServiceClient(baseUrl); 
var response = client.Send<HelloResponse>(new Hello { Name = "World!" }); 
Console.WriteLine(response.Result); // => Hello, World 

И в JQuery с:

$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
}); 
+1

Привет, я обязательно отдам! – Grzenio

2

Каков наилучший способ создания веб-сервиса JSON? У нас есть еще одна команда , которая использует Java, и они настаивают на том, чтобы все общение было выполнено с использованием JSON. Я предпочел бы использовать WCF, а не любую стороннюю платформу .

Ниже приведено простое в использовании руководство по прохождению процесса, которое позволяет вам настроить свою первую службу WCF, а затем привязать ее к базе данных SQL Server.

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Он использует любимую Борей базы данных Microsoft, SQL Server, и показывает, как написать простой JSON WCF веб-службы для чтения и записи его данных.

enter image description here

Ой, а затем показывает, как использовать данные в формате JSON с помощью JavaScript или приложения IOS.

Удачи вам!

+0

Эта статья также помогла мне - я очень новичок в веб-сервисах WCF. – Krondorian