2009-09-21 2 views

ответ

4

ASP.NET MVC является хорошей альтернативой, когда речь идет о генерации XML REST и JSON-каналы.

2

Чтобы создать архитектуру отдыха в .net, вы можете использовать GenericHandlers. Вы можете создать GenericHandler, который получит HTTP-сообщение (POST, GET или ..) и вернет сообщение указанного типа содержимого.

Например создать общий обработчик на URL:

http://site/getpeople.ashx?gender=female

И называют его с Parmeter пол = женский, как описано выше, обработчик будет возвращать следующие

<people> 

<person>...</person> 
... 
<people> 

И тип содержимого будет text/xml.

Это самый простой способ реализации веб-служб REST в .NET

+0

Использование текста/xml не рекомендуется, не было лет. Использование application/xhtml + xml неодобрительно в архитектуре покоя. Не стоит нисходящего, но не стоит оригинального upvote, я думаю. – SerialSeb

+0

Не могли бы вы указать, почему на него нахмурились? –

+1

Извините за промах, должен был прочитать приложение/xml. Он нахмурился, потому что он не раскрывает фактический тип мультимедиа для процессора UA, только некоторое неопределенное представление о том, что это xml, что не помогает определить, что делать с контентом. – SerialSeb

2

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

Нет никакой конфигурации XML или кода-гене, а ваш чистый веб-сервис C# включен на всех конечных точках JSON, XML, SOAP, JSV, CSV, HTML из коробки автоматически. Он включает в себя общие клиенты службы синхронизации/асинхронного обслуживания, обеспечивающие быстрый, типизированный, клиент-серверный шлюз для связи от конца до конца.

Он также включает в себя 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 response = client.Send<HelloResponse>(new Hello { Name = "World!" }); 
Console.WriteLine(response.Result); // => Hello, World 

И в JQuery с:

$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
}); 
Смежные вопросы