Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере 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 создает автоматическую страницу справки на основе HTML по адресу http://localhost:8000/Customers/help, которая предоставляет информацию о том, как формировать HTTP-запросы к службе и как обрабатывать HTTP-ответы службы.
Program.cs демонстрирует, как можно использовать фабрику каналов связи WCF для вызова службы и обработки полученных ответов. Обратите внимание, что это просто один из способов доступа к службе WCF. Также можно получить доступ к службе с помощью других классов .NET Framework, таких как HttpWebRequest и WebClient.
Пример состоит из локальной службы и клиента, запускаемого в консольном приложении. По мере запуска консольного приложения клиент отправляет запросы к службе и записывает соответствующие сведения из ответов в окно консоли.
Использование этого примера
Откройте решение для примера службы "Базовая служба Http". При запуске Visual Studio 2012 необходимо запустить от имени администратора для успешного выполнения примера. Для этого щелкните правой кнопкой мыши значок Visual Studio и выберите команду "Запуск от имени администратора" в контекстном меню.
Нажмите клавиши CTRL+SHIFT+B , чтобы создать решение, а затем нажмите клавиши CTRL+F5 , чтобы запустить консольное приложение без отладки. Откроется окно консоли, которое предоставит URI работающего сервиса и URI HTML-страницы помощи для работающего сервиса. В любой момент времени можно просмотреть страницу справки HTML, введя универсальный код ресурса (URI) страницы справки в браузере. При выполнении примера клиент записывает состояние текущего действия.
Нажмите любой ключ, чтобы завершить пример.