Вопрос

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

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

Это было полезно?

Решение 4

В итоге я использовал JayRock . Это фантастическая технология, просто работает. Вы не получите никаких исключений NullReferenceException, например, из этого дерьма WCF, если не настроите его правильно.

Другие советы

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

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

Я поддерживаю зрелую альтернативу WCF с открытым исходным кодом в ServiceStack , современном, сначала кодовом, модельном управляемая, заменяющая среда веб-служб WCF поощрение кода и удаленных рекомендаций для создания краткого, СУХОГО, высокопроизводительные, масштабируемые веб-службы REST .

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

Кроме того, здесь нет конфигурации XML или code-gen, и ваш веб-сервис C # с однократной записью предоставляет все Конечные точки 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 };
    }
}

Выше сервис может быть вызван (без каких-либо шагов сборки / кода) в 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); 
});
  

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

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

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

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

введите описание изображения здесь

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

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top