Использование WCF для создания веб-службы RESTful, которая требует аутентификации и использует JSON в качестве формата ввода / вывода - PullRequest
1 голос
/ 13 мая 2011

Я хочу перенести существующую веб-службу ASP.NET в WCF, чтобы результирующая веб-служба (1) была RESTful, (2) использовала JSON в качестве формата запроса / ответа, (3) имеет настраиваемый механизм аутентификации.

После долгих поисков, случайного кодирования и желания ударить меня головой о стену, я обнаружил, что ...

  1. A webHttpBinding должен использоваться для создания веб-службы RESTful. Но ...

    1. webHttpBinding не поддерживает узлы HTTPS.

    2. webHttpBinding не поддерживает аутентификацию UserName.

    3. webHttpBinding даже не поддерживает безопасность сообщений.

  2. Для поддержки ASP.NET AJAX необходимо использовать поведение конечной точки с <enableWebScript/>. Но ...

    1. Что такое "ASP.NET" AJAX?

    2. Что если я захочу использовать веб-сервис с использованием "обычного" AJAX?

И, самое главное ...

  1. Может ли WCF делать то, что я хочу делать в первую очередь?

  2. Если нет, то какие еще платформы я могу использовать?

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Я написал службу WCF, которая выполняет SOAP и REST с XML и JSON, а также настраиваемую аутентификацию. Я вставил пользовательскую аутентификацию в модуль HTTP, который выполняет базовую аутентификацию через https. См. Пользовательская базовая HTTP-аутентификация для веб-служб ASP.NET в .NET 3.5 / VS 2008 и WCF POX, JSON и SOAP сосуществуют .

1 голос
/ 13 мая 2011

В описанной вами настройке веб-сервер (т.е. IIS) будет отвечать за шифрование (HTTPS) и аутентификацию (например, базовую аутентификацию). IIS можно расширить с помощью специального механизма аутентификации (просто Google для "обработчик модуля IIS").

Немного странно, что он должен быть делегирован IIS и не является частью WCF. Но это совсем не проблема.

...