Я являюсь частью основной команды, которая поддерживает ServiceStack - зрелую альтернативу WCF с открытым исходным кодом: современная, основанная на коде, основанная на модели инфраструктура замены веб-сервисов WCF поощряющий код и удаленные передовые практики для создания кратких, DRY, высокопроизводительных и масштабируемых веб-сервисов REST .
Имеет автоматическую поддержку заголовков JSON, JSONP, CORS , а также форм-urlencoded / multipart-formdata. Онлайн-демонстрации - это хорошее начало, так как все они используют Ajax.
Кроме того, нет конфигурации XML или кода, и ваш веб-сервис C # с однократной записью предоставляет все конечные точки JSON, XML, SOAP, JSV, CSV, HTML , включенные вне the-box, автоматически с крючками для подключения ваших типов контента при необходимости.
Он также включает универсальных клиентов службы синхронизации / асинхронизации , обеспечивающих быстрый типизированный межсетевой шлюз связи между клиентом и сервером.
Это полный пример всего кода, необходимого для создания простого веб-сервиса, который автоматически без какой-либо конфигурации регистрируется и становится доступным для всех форматов веб-данных по предопределенным и настраиваемым маршрутам REST-ful. :
public class Hello : IReturn<HelloResponse>
{
public string Name { get; set; }
}
public class HelloResponse
{
public string Result { get; set; }
}
public class HelloService : Service
{
public object Get(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
Вышеупомянутый сервис может быть вызван (без каких-либо шагов сборки / кода) в C # со строкой ниже:
HelloResponse response = client.Get(new Hello { Name = "World!" });
response.Result.Print(); // => Hello, World
И в jQuery с:
$.getJSON('hello/World!', function(r){
alert(r.Result);
});