Wcf json веб-сервис

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

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

Ответ 1

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

Ответ 2

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

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

Ответ 3

Я поддерживаю зрелую альтернативу Open Source для WCF в ServiceStack, современную замену WCF, основанную на коде, с моделированием инфраструктура веб-сервисов поощрение кода и удаленных лучших практик для создания кратких, сухих, высокопроизводительные масштабируемые веб-службы REST.

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

Кроме того, нет никакой конфигурации XML или кода-гене, а ваш веб-сервис "один раз" С# предоставляет все JSON, XML, SOAP, JSV, CSV, HTML, которые могут быть включены из коробки, автоматически с помощью крючков, чтобы подключить собственный Типы контента, если необходимо.

Он также включает в себя общие клиенты службы синхронизации/асинхронного обслуживания, обеспечивающие быстрый, типизированный, клиент-серверный шлюз связи от конца до конца.

Это полный пример всего кода, необходимого для создания простой веб-службы, которая автоматически без какой-либо конфигурации, зарегистрированной и сделанной на всех форматы веб-данных на заранее определенных и настраиваемых маршрутах REST-ful:

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 };
    }
}

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

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); 
});

Ответ 4

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

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

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

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

enter image description here

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

Удачи!