Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В примере SoapAndHttpEndpoints показано, как реализовать службу на основе RPC и предоставить ее в формате SOAP и формате "Обычный старый XML" (POX) с помощью модели веб-программирования WCF. Дополнительные сведения о привязке HTTP для службы см. в примере базовой службы HTTP. В данном образце акцент сделан на особенностях предоставления одной и той же службы через протокол SOAP и HTTP с использованием разных привязок.
Демонстрирует
Предоставление службы RPC по протоколу SOAP и HTTP с помощью WCF.
Обсуждение
Этот пример состоит из двух компонентов: проекта веб-приложения (службы), содержащего службу WCF и консольное приложение (клиент), которое вызывает операции службы с помощью привязок SOAP и HTTP.
Служба WCF предоставляет 2 операции —GetData и PutData — это эхо строки, передаваемой в качестве входных данных. Операции службы помечены атрибутами WebGetAttribute и WebInvokeAttribute. Эти атрибуты управляют HTTP-проекцией операций. Кроме того, они помечены атрибутом OperationContractAttribute, который позволяет предоставлять их через привязки протокола SOAP. Метод службы PutData создает исключение WebFaultException, которое отправляется обратно по протоколу HTTP с помощью кода состояния HTTP и отправляется обратно по протоколу SOAP в виде сбоя SOAP.
Файл конфигурации Web.config настраивает службу WCF с 3 конечными точками:
Конечная точка ~/service.svc/mex предоставляет доступ к метаданным службы клиентам на основе SOAP.
Конечная точка ~/service.svc/http позволяет клиентам получать доступ к службе с использованием привязки HTTP.
Конечная точка ~/service.svc/soap позволяет клиентам получать доступ к службе с использованием привязки протокола SOAP.
Конечная точка HTTP настроена со стандартной конечной <webHttp> точкой, для которой helpEnabled задано значение true. В результате этого служба предоставляет справочную страницу на основе XHTML по адресу ~/service.svc/http/help, которую клиенты на основе HTTP могут использовать для доступа к службе.
Клиентский проект демонстрирует доступ к службе с помощью прокси-сервера SOAP (созданного с помощью добавления ссылки на службу) и доступа к службе с помощью WebClient.
Образец состоит из службы, размещенной на веб-сервере, и консольного приложения. Во время выполнения консольного приложения клиент совершает запросы к службе и выводит в окно консоли нужные сведения из ответов.
Чтобы запустить образец
Откройте решение для примера с конечными точками SOAP и HTTP.
Нажмите Ctrl+Shift+B, чтобы построить решение.
Если он еще не открыт, нажмите клавиши CTRL+W, S, чтобы открыть окно Обозреватель решений.
В окне Обозреватель решений щелкните правой кнопкой на проекте службы и наведите курсор на пункт Отладка в контекстном меню, чтобы появилось контекстное меню "Пуск нового экземпляра". Нажмите Создать новый экземпляр. Запускается сервер разработки ASP.NET, на котором размещается служба.
В окне Проводник решений щелкните правой кнопкой мыши на клиентском проекте и наведите курсор на опцию контекстного меню Отладка, чтобы появилось контекстное меню "Запустить новый экземпляр". Нажмите кнопку "Пуск нового экземпляра".
На клиенте открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в браузере.
Во время выполнения примера, клиент регистрирует статус текущего действия.
Чтобы завершить клиентское консольное приложение, нажмите любую клавишу.
Чтобы прекратить отладку службы, нажмите клавиши SHIFT+F5.
В области уведомлений Windows щелкните правой кнопкой мыши значок сервера разработки ASP.NET и выберите " Остановить " в контекстном меню.