Основная служба ресурсов
В этом образце демонстрируется реализация службы HTTP с использованием модели программирования REST Windows Communication Foundation (WCF), при использовании которой представляется доступ к коллекции клиентов, поддерживающей операции поиска, добавления, удаления и замены. Данный образец состоит из двух компонентов: резидентной службы HTTP WCF (Service.cs) и консольного приложения (program.cs), создающего службу и выполняющего вызовы в этой службе.
Подробные сведения об образце
Служба WCF предоставляет доступ к коллекции клиентов в стиле REST (относительно ресурсов). Кратко говоря, это связано с тем, что каждая запись в коллекции имеет уникальный универсальный код ресурса (URI) для коллекции клиентов и всех клиентов в коллекции. Служба поддерживает отправку HTTP GET в универсальном коде ресурса (URI) коллекции для получения всей коллекции и HTTP POST в URI коллекции для добавления к коллекции нового клиента. Также для универсального кода ресурса (URI) для отдельного клиента поддерживается отправка HTTP GET для получения сведений о клиентах, отправка HTTP PUT для замены сведений о клиентах и отправка HTTP DELETE для удаления клиента из коллекции. При добавлении к коллекции нового клиента служба назначает ему уникальный URI и сохраняет URI как часть сведений о клиенте. Также назначенный URI передается клиенту с использованием заголовка ответа Location HTTP.
Файл App.config настраивает для службы WCF конечную точку по умолчанию WebHttpEndpoint, для свойства которой HelpEnabled задано значение true. В результате этого WCF создает автоматическую страницу справки в формате HTML по адресу https://localhost:8000/Customers/help
, которая предоставляет сведения о том, как строить запросы HTTP службе и как получать доступ к ответу службы в формате HTTP, например образец того, как данные клиента представлены в форматах XML и JSON.
Предоставление таким способом доступа к коллекции клиентов (и в целом к любому ресурсу) позволяет клиенту взаимодействовать со службой единым образом с помощью URI и команд HTTP GET, PUT, DELETE и POST. В файле Program.cs показывается, как можно разработать клиент с помощью HttpWebRequest. Заметьте, что это лишь один из способов доступа к службе REST WCF. Также возможен доступ к службе с помощью других классов .NET Framework, например ChannelFactory и WebClient. В других образцах из пакета SDK (например, образец Базовая служба HTTP и образец Автоматический выбор формата) показано, как использовать эти классы для связи со службой WCF.
Образец состоит из резидентной службы и клиента, которые работают в консольном приложении. Во время выполнения консольного приложения клиент совершает запросы к службе и выводит в окно консоли нужные сведения из ответов.
Использование этого образца
Откройте решение в образце базовой службы ресурсов. Для успешного выполнения образца среду Visual Studio 2010 необходимо запускать от имени администратора. Для этого щелкните правой кнопкой мыши значок Visual Studio 2010 и выберите в контекстном меню команду Запуск от имени администратора.
Нажмите кнопку F6, чтобы создать решение, а затем нажмите сочетание клавиш CTRL+F5, чтобы запустить проект консольного приложения. Открывается окно консоли с URI запущенной службы и URI HTML-страницы справки для запущенной службы. HTML-страницу справки можно просмотреть в любой момент времени, введя URI этой страницы в веб-обозревателе. Во время работы образца клиент записывает состояние текущего действия.
Чтобы завершить образец, нажмите любую клавишу.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WCF\Basic\Web\BasicResourceService
|