Поделиться через


Узел службы WCF (WcfSvcHost.exe)

Windows Communication Foundation (WCF) Узел службы (WcfSvcHost.exe) позволяет запускать отладчик Visual Studio (F5) для автоматического размещения и проверки реализованной службы. Затем службу можно проверить с помощью тестового клиента WCF (WcfTestClient.exe) или своего собственного клиента для поиска и устранения потенциальных ошибок.

Узел службы WCF

WCF Узел службы выполняет перечисление служб в проекте службы WCF, загружает конфигурацию проекта и создает экземпляр узла для каждой найденной службы. Средство встроено в Visual Studio посредством шаблона службы WCF и вызывается в начале отладки проекта.

Используя узел службы WCF, можно разместить службу WCF (в проекте библиотеки службы WCF) без создания дополнительного кода или фиксации в конкретном узле во время разработки.

Bb552363.note(ru-ru,VS.100).gifПримечание
Узел службы WCF не поддерживает частичное доверие. При необходимости использования службы WCF в частичном доверии не используется шаблон проекта библиотеки служб WCF в Visual Studio для построения службы. Вместо этого создайте новый веб-сайт в Visual Studio путем выбора шаблона веб-сайта службы WCF, который может разместить службу в веб-сервере, в котором поддерживается частичное доверие WCF.

Типы проектов, размещенные узлом службы WCF

Узел службы WCF может разместить следующие типы проекта библиотеки служб WCF: библиотека служб WCF, библиотека служб последовательных рабочих процессов, библиотека служб рабочих процессов конечного компьютера и библиотека служб синдикации. Узел службы WCF также может разместить службы, которые можно добавить в проект библиотеки служб с помощью функциональной возможности Добавить элемент. Сюда включается служба WCF, служба конечного компьютера WF, последовательная служба WF, служба конечного компьютера WF XAML и последовательная служба WF XAML.

Однако следует отметить, что это средство не окажет содействия в настройке узла. Для этой задачи необходимо вручную отредактировать файл App.config. Это средство также не выполняет проверку подлинности пользовательских файлов конфигурации.

Bb552363.Caution(ru-ru,VS.100).gifВнимание!
Узел службы WCF не следует использовать для размещения служб в рабочей среде, так как он не был разработан для этой цели. Узел службы WCF не поддерживает требования к надежности, безопасности и управляемости такой среды. Вместо этого используется IIS, поскольку таким образом обеспечивается высочайшие свойства надежности и мониторинга, предоставляющие предпочтительное решение для служб размещения. После завершения разработки служб необходимо перенести службы из узла службы WCF в IIS.

Сценарии для использования узла службы WCF в Visual Studio

В следующей таблице перечислены все параметры в диалоговом окне Аргументы командной строки, которые можно найти, щелкнув правой кнопкой мыши проект в обозревателе решений в Visual Studio, выбрав Свойства, выбрав вкладку Отладка и нажав кнопку Запуск проекта. Эти параметры используются при настройке узла службы WCF.

Параметр Значение

/client

Необязательный параметр, задающий путь к исполняемому файлу для запуска после размещения служб. Он запускает тестовый клиент WCF, следующий за размещением.

/clientArg

Задайте строку в качестве аргумента, передаваемого настраиваемому клиентскому приложению.

/?

Отображает текст справки.

Использование тестового клиента WCF

После создания нового проекта службы WCF и нажатия клавиши F5 для запуска отладчика узел службы WCF запускает размещение всех служб, найденных в проекте. Тестовый клиент WCF автоматически открывает и отображает список конечных точек службы, определенных в файле конфигурации. В главном окне можно проверить параметры и вызвать службу.

Чтобы убедиться в использовании тестового клиента WCF, щелкните правой кнопкой мыши проект в обозревателе решений в Visual Studio, выберите Свойства и выберите вкладку Отладка. Нажмите кнопку Запуск проекта и убедитесь, что в диалоговом окне Аргументы командной строки отображается следующее:

/client:WcfTestClient.exe

Использование настраиваемого клиента

Чтобы использовать настраиваемый клиент, щелкните правой кнопкой мыши проект в обозревателе решений в Visual Studio, выберите Свойства и выберите вкладку Отладка. Нажмите кнопку Запуск проекта и отредактируйте параметр /client в диалоговом окне Аргументы командной строки, чтобы указать настраиваемый клиент, как указано в следующем примере:

/client:"path/CustomClient.exe"

При нажатии клавиши F5 для повторного запуска службы узел службы WCF автоматически выполнит запуск настраиваемого клиента и запустит отладчик.

Также можно использовать параметр /clientArg:, чтобы указать строку в качестве аргумента, переданного пользовательскому клиентскому приложению, как указано в следующем примере.

/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"

Например, если используется шаблон библиотеки служб синдикации, то можно использовать следующие аргументы командной строки,

/client:iexplore.exe /clientArgs:https://localhost:8731/Design_Time_Addresses/Feed1/

Указание отсутствия клиента

Чтобы указать отсутствие использования клиента после размещения службы WCF, щелкните правой кнопкой мыши проект в обозревателе решений в Visual Studio, выберите Свойства и выберите вкладку Отладка. Нажмите кнопку Запуск проекта и оставьте пустым диалоговое окно Аргументы командной строки.

Использование настраиваемого узла

Чтобы использовать настраиваемый узел, щелкните правой кнопкой мыши проект в обозревателе решений в Visual Studio, выберите Свойства и выберите вкладку Отладка. Нажмите кнопку Запуск внешней программы и введите полный путь к настраиваемому узлу. Также можно использовать диалоговое окно Аргументы командной строки, чтобы задать аргументы для передачи узлу.

Пользовательский интерфейс узла службы WCF

При изначальном запуске узла службы WCF (путем нажатия клавиши F5 в Visual Studio) автоматически откроется окно Узел службы WCF. При выполнении узла службы WCF значок программы автоматически появится в области уведомлений. Дважды щелкните значок, чтобы открыть окно Узел службы WCF.

При возникновении ошибок во время размещения службы откроется диалоговое окно узла службы WCF, чтобы отобразить соответствующие сведения.

В главном окне Узел службы WCF содержатся два меню:

  • Файл: содержит команды Закрыть и Выход. При нажатии кнопки Закрыть диалоговое окно Узел службы WCF закрывается, но размещение служб продолжается. При нажатии кнопки Выход узел службы WCF также завершает работу. Также завершается работа всех размещенных служб.

  • Справка: содержит команду О программе, в которой содержатся сведения о версии. Также в ней содержится команда Справка, которая также может открыть файл справки.

В главном окне Узел службы WCF содержатся две области:

  • Первая область — Служба. В ней содержится список, отображающий основные сведения всех служб. К ним относятся следующие сведения:

    • Служба: составляет список всех служб.

    • Состояние: составляет список состояния службы. Допустимые значения: «Запущено», «Остановлено» и «Ошибка».

    • Адрес метаданных: отображает адрес метаданных служб.

  • Вторая область — Дополнительные сведения. В ней отображены подробные сведения о состоянии службы при выборе конкретной строки службы в области Служба. Если состояние — «Ошибка», можно просмотреть полное сообщение об ошибке на экране.

Остановка узла службы WCF

Работу узла службы WCF можно завершить следующими четырьмя способами:

  • Остановите сеанс отладки в Visual Studio.

  • Выберите вариант Выход в меню Файл в окне Узел службы WCF.

  • Выбрать команду Выход во всплывающем меню значка в панели задач узла службы WCF в области уведомлений системы.

  • Выйти из тестового клиента WCF, если он используется.

Использование узла службы без прав администратора

Чтобы позволить пользователю, у которого нет прав администратора, разрабатывать службы WCF, для пространства имен "http://+:8731/Design_Time_Addresses" при установке Visual Studio создается список управления доступом (ACL). Список управления доступом определяется пользовательским интерфейсом, который включает всех пользователей, выполнивших вход в систему. Администраторы могут добавлять или удалять пользователей из этого списка ACL или открыть дополнительные порты. Этот список ACL позволяет пользователям использовать средство Service Auto Host WCF (wcfSvcHost.exe) без предоставления им прав администратора.

Можно изменить доступ используя средство netsh.exe в Windows Vista под учетной записью администратора. Ниже приведен пример использования средства netsh.exe.

netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>

Дополнительные сведения о средстве netsh.exe см. в "Использование средства Netsh.exe и переключателей командной строки".

См. также

Основные понятия

Тестовый клиент WCF (WcfTestClient.exe)