Базовая служба HTTP
В примере BasicHttpService показано, как реализовать службу на основе HTTP, на основе RPC , часто называемую службой POX (обычный старый XML) с помощью модели REST Программирования Windows Communication Foundation (WCF). Этот пример состоит из двух компонентов: локальной http-службы WCF (Service.cs) и консольного приложения (Program.cs), создающего службу и вызывающего ее.
Подробные сведения об образце
Служба WCF предоставляет 2 операции EchoWithGet
и EchoWithPost
возвращает строку, переданную в качестве входных данных.
К операции EchoWithGet
добавляется заметка WebGetAttribute, указывающим на обработку операцией HTTP-запросов GET
. Поскольку WebGetAttribute не указывает явно UriTemplate, оператор ожидает передачи входной строки с помощью параметра строки запроса с именем s
. Обратите внимание, что формат URI, ожидаемого службой, может быть изменен с помощью свойства UriTemplate.
К операции EchoWithPost
добавляется заметка WebInvokeAttribute, указывающая на то, что это не является операцией GET
(имеющей побочные эффекты). Поскольку WebInvokeAttribute не указывает явно Method
, операция обрабатывает HTTP-запросы POST
, содержащие строку в тексте запроса (например, в формате XML). Обратите внимание, что метод HTTP и формат URI запроса можно изменить с помощью свойств Method и UriTemplate соответственно.
Файл App.config настраивает для службы WCF конечную точку по умолчанию WebHttpEndpoint, для свойства которого HelpEnabled задано значение true
. В результате инфраструктура WCF создает автоматическую страницу http://localhost:8000/Customers/help
справки на основе HTML, которая содержит сведения о том, как создавать HTTP-запросы к службе и как использовать HTTP-ответ службы.
Program.cs демонстрирует, как можно использовать фабрику каналов WCF для вызова службы и обработки ответов. Заметьте, что это лишь один из способов доступа к WCF-службе. Также возможен доступ к службе с помощью других классов .NET Framework, например HttpWebRequest и WebClient.
Образец состоит из резидентной службы и клиента, которые работают в консольном приложении. Во время выполнения консольного приложения клиент совершает запросы к службе и выводит в окно консоли нужные сведения из ответов.
Использование этого образца
Откройте решение в образце базовой службы Http. При запуске Visual Studio 2012 необходимо запустить от имени администратора для успешного выполнения примера. Для этого щелкните правой кнопкой мыши значок Visual Studio и выберите "Запустить как Администратор istrator" в контекстном меню.
Нажмите клавиши CTRL+SHIFT+B, чтобы создать решение, а затем нажмите клавиши CTRL+F5, чтобы запустить консольное приложение без отладки. Открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в браузере. Во время работы образца клиент записывает состояние текущего действия.
Чтобы завершить образец, нажмите любую клавишу.