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

Узел службы Windows Communication Foundation (WCF) (WcfSvcHost.exe) позволяет запустить отладчик Visual Studio (F5) для автоматического размещения и проверки службы, реализованный.Windows Communication Foundation (WCF) Service Host (WcfSvcHost.exe) allows you to launch the Visual Studio debugger (F5) to automatically host and test a service you have implemented. Затем можно проверить службу, используя тестовый клиент WCF (WcfTestClient.exe) или своего собственного клиента для поиска и устранения потенциальных ошибок.You can then test the service using WCF Test Client (WcfTestClient.exe), or your own client, to find and fix any potential errors.

Узел службы WCFWCF Service Host

Узел службы WCF перечисление служб в проекте службы WCF, загружает конфигурацию проекта и создает экземпляр узла для каждой найденной службы.WCF Service Host enumerates the services in a WCF service project, loads the project’s configuration, and instantiates a host for each service that it finds. Средство интегрирован в Visual Studio через шаблон службы WCF и вызывается при запуске отладки проекта.The tool is integrated into Visual Studio through the WCF Service template and is invoked when you start to debug your project.

С помощью узла службы WCF, можно разместить службы WCF (в проекте библиотеки службы WCF) без создания дополнительного кода или фиксации в конкретном узле во время разработки.By using WCF Service Host, you can host a WCF service (in a WCF service library project) without writing extra code or committing to a specific host during development.

Примечание

Узел службы WCF не поддерживает частичное доверие.WCF Service Host does not support Partial Trust. Если вы хотите использовать службы WCF в режиме частичного доверия, не используйте шаблон проекта библиотеки служб WCF в Visual Studio для построения службы.If you want to use a WCF Service in Partial Trust, do not use the WCF Service Library Project template in Visual Studio to build your service. Вместо этого создайте новый веб-узел в Visual Studio, выбрав шаблон веб-сайт службы WCF, который может разместить службу в веб-сервер, на котором поддерживается частичное доверие WCF.Instead, create a New WebSite in Visual Studio by choosing the WCF Service WebSite template, which can host the service in a WebServer on which WCF Partial Trust is supported.

Типы проектов, размещенные узлом службы WCFProject Types hosted by WCF Service Host

Узел службы WCF можно разместить следующие типы проекта библиотеки службы WCF: Библиотека службы WCF, библиотека службы последовательного рабочего процесса, State Machine Workflow Service Library и Библиотека служб синдикации.WCF Service Host can host the following WCF service library project types: WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library. Узел службы WCF можно также разместить эти службы, которые могут быть добавлены в проект библиотеки службы с помощью Добавление элемента функциональные возможности.WCF Service Host can also host those services that can be added to a service library project using the Add Item functionality. Сюда входят службы WCF, служба конечного компьютера WF, последовательная служба WF, служба конечного компьютера WF XAML и последовательная служба WF XAML.This includes WCF Service, WF State Machine Service, WF Sequential Service, XAML WF State Machine Service and XAML WF Sequential Service.

Однако следует отметить, что это средство не окажет содействия в настройке узла.You should note, however, that the tool will not help you to configure a host. Для этой задачи необходимо вручную отредактировать файл App.config.For this task, you must manually edit the App.config file. Это средство также не выполняет проверку подлинности пользовательских файлов конфигурации.The tool also does not validate user-defined configuration files.

Внимание!

Не следует использовать узел службы WCF для размещения служб в рабочей среде, так как он не был разработан для этой цели.You should not use WCF Service Host to host services in a production environment, as it was not engineered for this purpose. Узел службы WCF не поддерживает надежности, безопасности и требования к управляемости такой среды.WCF Service Host does not support the reliability, security, and manageability requirements of such an environment. Вместо этого используется IIS, поскольку таким образом обеспечивается высочайшие свойства надежности и мониторинга, предоставляющие предпочтительное решение для служб размещения.Instead, use IIS since it provides superior reliability and monitoring features, and is the preferred solution for hosting services. После завершения разработки служб необходимо перенести службы от узла службы WCF в IIS.Once development of your services is complete, you should migrate the services from WCF Service Host to IIS.

Сценарии для использования узла службы WCF в Visual StudioScenarios for Using WCF Service Host inside Visual Studio

В следующей таблице перечислены все параметры в аргументы командной строки диалоговое окно, в котором можно найти, щелкнув правой кнопкой мыши проект в обозревателя решений в Visual Studio, выбрав Свойства, выбрав Отладка вкладка и щелкнув запуск проекта.The following table lists all the parameters in the Command line arguments dialog box, which can be found by right-clicking your project in Solutions Explorer in Visual Studio, selecting Properties, then selecting the Debug tab and clicking Start Project. Эти параметры используются при настройке узла службы WCF.These parameters are useful in configuring WCF Service Host.

ПараметрParameter ЗначениеMeaning
/client Необязательный параметр, задающий путь к исполняемому файлу для запуска после размещения служб.An optional parameter that specifies the path to an executable to run after the services are hosted. Будет запущен тестовый клиент WCF следующий за размещением.This launches WCF Test Client following hosting.
/clientArg Задайте строку в качестве аргумента, передаваемого настраиваемому клиентскому приложению.Specify a string as an argument that is passed to the custom client application.
/? Отображает текст справки.Displays the help text.

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

После создания проекта службы WCF и нажмите клавишу F5 для запуска отладчика узел службы WCF запускает размещение всех служб, которые находятся в проекте.After you create a new WCF service project and press F5 to start the debugger, WCF Service Host starts hosting all the services it finds in your project. Тестовый клиент WCF автоматически открывает и отображает список конечных точек службы, определенные в файле конфигурации.WCF Test Client automatically opens and displays a list of service endpoints defined in the configuration file. В главном окне можно проверить параметры и вызвать службу.From the main window, you can test the parameters and invoke your service.

Чтобы убедиться, что используется тестовый клиент WCF, щелкните правой кнопкой мыши проект в обозревателя решений в Visual Studio выберите свойства, а затем выберите Отладка вкладки. Нажмите кнопку запуск проекта и убедитесь, что в появится следующее аргументы командной строки диалоговое окно.To make sure that WCF Test Client is used, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and ensure that the following appears in the Command line arguments dialog box.

/client:WcfTestClient.exe

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

Чтобы использовать пользовательский клиент, щелкните правой кнопкой мыши проект в обозревателя решений в Visual Studio выберите свойства, а затем выберите Отладка вкладки. Нажмите кнопку запуск проекта и изменить /client параметр в аргументы командной строки диалоговое окно, чтобы указать настраиваемый клиент, как показано в следующем примере.To use a custom client, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and edit the /client parameter in the Command line arguments dialog box to point to your custom client, as indicated in the following example.

/client:"path/CustomClient.exe"

При нажатии клавиши F5, чтобы снова запустить эту службу, узел службы WCF автоматически запускает настраиваемый клиент, при запуске отладчика.When you press F5 to start the service again, WCF Service Host automatically starts your custom client when you launch the debugger.

Также можно использовать параметр /clientArg:, чтобы указать строку в качестве аргумента, переданного настраиваемому клиентскому приложению, как указано в следующем примере:You can also use the /clientArg: parameter to specify a string as an argument that is passed to the custom client application, as indicated in the following example.

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

Например, если используется шаблон библиотеки служб синдикации, то можно использовать следующие аргументы командной строки:For example, if you are using the Syndication Service Library template, you can use the following command line arguments,

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

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

Чтобы указать, что клиенты не будут использоваться после размещения служб WCF, щелкните правой кнопкой мыши проект в обозревателя решений в Visual Studio выберите свойства, а затем выберите Отладка вкладки. Нажмите кнопку запуск проекта и оставить аргументы командной строки диалоговое окно пустым.To specify that no client will be used after WCF service hosting, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and leave the Command line arguments dialog box blank.

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

Чтобы использовать пользовательский узел, щелкните правой кнопкой мыши проект в обозревателя решений в Visual Studio выберите свойства, а затем выберите Отладка вкладки. Нажмите кнопку запуск внешней программы и введите полный путь к настраиваемому узлу.To use a custom host, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start External Program and enter the full path to the custom host. Можно также использовать аргументы командной строки диалоговое окно, чтобы указать аргументы для передачи на узел.You can also use the Command line arguments dialog box to specify arguments to be passed to the host.

Пользовательский интерфейс узла службы WCFWCF Service Host User Interface

При изначальном запуске узла службы WCF (нажав клавишу F5 в Visual Studio), узел службы WCF автоматически откроется окно.When you initially invoke WCF Service Host (by pressing F5 inside Visual Studio), the WCF Service Host window automatically opens. При выполнении узла службы WCF, в области уведомлений появляется значок программы.When WCF Service Host is running, the program's icon appears in the notification area. Дважды щелкните значок, чтобы открыть узел службы WCF окноDouble-click the icon to open the WCF Service Host window

При возникновении ошибок во время размещения службы, чтобы отобразить соответствующие сведения открыть узел службы WCF-диалоговое окно.When errors occur during service hosting, WCF Service Host dialog box will open to display relevant information.

Узел службы WCF главное окно содержит два меню:The WCF Service Host main window contains two menus:

  • Файл: Содержит закрыть и выхода команды.File: Contains the Close and Exit commands. При нажатии кнопки закрыть, узел службы WCF диалоговое окно закрывается, но службы будут размещаться.When you click Close, the WCF Service Host dialog box closes, but the services continue to be hosted. При нажатии кнопки выхода, узел службы WCF также завершить работу.When you click Exit, WCF Service Host is also shut down. Также завершается работа всех размещенных служб.This also stops all hosted services.

  • Справка: Содержит о команду, которая содержит сведения о версии.Help: Contains the About command that contains version information. Он также содержит помочь команду, которая может открыть файл справки.It also contains the Help command that can open a help file.

Основной узел службы WCF окно содержит две области:The main WCF Service Host window contains two areas:

  • Первая область службы.The first area is Service. В ней содержится список, отображающий основные сведения всех служб.It contains a list that displays basic information of all services. К ним относятся следующие сведения:The information includes:

    • Служба. Список всех служб.Service: Lists all the services.

    • состояние: Отобразить состояние службы.Status: Lists the status of the service. Допустимые значения: «Работает», «Остановлено» и «Error».Valid values are "Started", "Stopped," and "Error".

    • Адрес метаданных: Отображает адрес метаданных службы.Metadata Address: Displays the metadata address of the services.

  • Вторая область дополнительную информацию.The second area is Additional Information. Отображает подробные сведения о работе состояние службы, при выборе конкретной строки службы в службы области.It displays a detailed explanation of the service status when the specific service line is selected in the Service area. Если состояние - «Ошибка», можно просмотреть полное сообщение об ошибке на экране.If the status is Error, you can view the full error message on the screen.

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

Вы можете завершить работу узла службы WCF, одним из следующих четырех способов:You can shut down WCF Service Host in the following four ways:

  • Остановите сеанс отладки в Visual Studio.Stop the debugging session in Visual Studio.

  • Выберите выхода из файл меню в узел службы WCF окна.Select Exit from the File menu in the WCF Service Host window.

  • Выберите выхода из контекстного меню для узла службы WCF значок в области системных уведомлений.Select Exit from context menu of WCF Service Host tray icon in the system notification area.

  • Выйдите из тестового клиента WCF, если он используется.Exit WCF Test Client if it is being used.

Использование узла службы без прав администратораUsing Service Host without Administrator privilege

Чтобы разрешить пользователям без прав администратора для разработки служб WCF, создается список ACL (список управления доступом) для пространства имен "http://+:8731/Design_Time_Addresses" во время установки Visual Studio.To enable users without administrator privilege to develop WCF services, an ACL (Access Control List) is created for the namespace "http://+:8731/Design_Time_Addresses" during the installation of Visual Studio. Список управления доступом определяется пользовательским интерфейсом, который включает всех пользователей, выполнивших вход в систему.The ACL is set to (UI), which includes all interactive users logged on to the machine. Администраторы могут добавлять или удалять пользователей из этого списка ACL и открыть дополнительные порты. Этот список ACL позволяет пользователям использовать WCF Service Auto Host (wcfSvcHost.exe) без предоставления им прав администратора.Administrators can add or remove users from this ACL, or open additional ports.This ACL enables users to use the WCF Service Auto Host (wcfSvcHost.exe) without granting them administrator privileges.

Можно изменить доступ используя средство netsh.exe в Windows VistaWindows Vista под учетной записью администратора.You can modify access using the netsh.exe tool in Windows VistaWindows Vista under the elevated administrator account. Ниже приведен пример использования средства netsh.exe.The following is an example of using netsh.exe.

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

Дополнительные сведения о netsh.exe см. в разделе "способы использования средства Netsh.exe и переключателей командной строки«.For more information on netsh.exe, see "How to Use the Netsh.exe Tool and Command-Line Switches".

См. такжеSee also