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

Windows Communication Foundation (WCF) Test Client (клиент WcfTestClient. exe) — это средство графического пользовательского интерфейса, которое позволяет пользователям вводить параметры теста, отправлять эти входные данные в службу и просматривать ответ, отправляемый службой обратно.Windows Communication Foundation (WCF) Test Client (WcfTestClient.exe) is a GUI tool that enables users to input test parameters, submit that input to the service, and view the response that the service sends back. Она обеспечивает простой процесс тестирования служб при объединении с узлом службы WCF.It provides a seamless service testing experience when combined with WCF Service Host.

Как правило, тестовый клиент WCF (клиент WcfTestClient. exe) можно найти в следующем расположении C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE :-Community может быть одним из "Enterprise", "Professional" или "Community" в зависимости от установленного уровня Visual Studio.You can typically find the WCF Test Client (WcfTestClient.exe) in the following location: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE - Community may be one of "Enterprise", "Professional" or "Community" depending on which level of Visual Studio is installed.

Сценарии использования тестового клиентаScenarios for Using Test Client

В следующих разделах рассматриваются наиболее распространенные сценарии, в которых можно использовать тестовый клиент WCF для упрощения процесса разработки.The following sections discuss the most common scenarios in which you can use WCF Test Client to streamline your development process.

В Visual StudioInside Visual Studio

Узел службы WCF запускает тестового клиента WCF с одной службойWCF Service Host Starts WCF Test Client with a Single Service

После создания нового проекта службы WCF и нажатия клавиши F5 для запуска отладчика узел службы WCF начинает размещать службу в проекте.After you create a new WCF service project and press F5 to start the debugger, the WCF Service Host begins to host the service in your project. Затем откроется тестовый клиент WCF и отобразится список конечных точек служб, определенных в файле конфигурации.Then, WCF Test Client opens and displays a list of service endpoints defined in the configuration file. Можно протестировать эти параметры и запустить службу, и повторять этот процесс для последовательного тестирования и проверки службы.You can test the parameters and invoke the service, and repeat this process to continuously test and validate your service.

Узел службы WCF запускает тестового клиента WCF с несколькими службамиWCF Service Host Starts WCF Test Client with Multiple Services

Вы также можете использовать тестовый клиент WCF, чтобы упростить отладку проекта службы, содержащего несколько служб.You can also use WCF Test Client to help debug a service project that contains multiple services. После открытия тестового клиента WCF автоматически выполняет итерацию по списку служб в проекте и открывает их для тестирования.When WCF Test Client opens, it automatically iterates the list of services in your project and opens them for testing.

Вне Visual StudioOutside Visual Studio

Вы также можете вызвать тестовый клиент WCF (клиент WcfTestClient. exe) за пределами Visual Studio для тестирования произвольной службы в Интернете.You can also invoke the WCF Test Client (WcfTestClient.exe) outside Visual Studio to test an arbitrary service on the Internet. Инструмент расположен в следующей папке:To locate the tool, go to the following location:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE(где Community может быть одним из "Enterprise", "Professional" или "Community" в зависимости от того, какой уровень Visual Studio установлен на компьютере.)C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (where community can be one of "Enterprise", "Professional" or "Community" depending on which level of Visual Studio is installed on the machine)

Для использования средства дважды щелкните кнопкой мыши имя файла, чтобы открыть его, или запустите его из командной строки.To use the tool, double-click the file name to open it from this location, or launch it from a command line.

Тестовый клиент WCF принимает произвольное число URI в качестве аргументов командной строки.WCF Test Client takes an arbitrary number of URIs as command line arguments. Это универсальные коды ресурса служб, которые могут быть проверены.These are the URIs of services that can be tested.

wcfTestClient.exe URI1 URI2 …

После открытия окна тестового клиента WCF щелкните файл->Добавить службуи введите адрес конечной точки службы, которую нужно открыть.After the WCF Test Client window is opened, click File->Add Service, and enter the endpoint address of the service you want to open.

Пользовательский интерфейс тестового клиента WCFWCF Test Client User Interface

Тестовый клиент WCF можно использовать с одной службой или несколькими службами.You can use WCF Test Client with a single service or multiple services.

Операции службService Operations

В левой области главного окна тестового клиента WCF перечислены все доступные службы, а также соответствующие конечные точки и операции.The left pane of the WCF Test Client main window lists all the available services, along with their respective endpoints and operations.

Если дважды щелкнуть операцию, в правой области внутри новой вкладки с именем операции отображается ее содержимое.When you double-click an operation, you can view its content in the right pane inside a new tab with the operation's name.

В левой области также отображается список файлов конфигурации.The left pane also lists client configuration files. Дважды щелкните любой элемент, чтобы открыть в правой области содержимое этого файла в виде нового окна с вкладками.Double-click any of the items to display the content of the file in a new tabbed window in the right pane.

Ввод тестовых параметровEntering Test Parameters

Для просмотра тестовых параметров дважды щелкните операцию, чтобы открыть ее в правой области.To view the test parameters, double-click an operation to open it in the right pane. Параметры показаны в форматированном представлении по умолчанию, и можно ввести произвольные значения параметров для тестирования службы.The parameters are showed in Formatted view by default, and you can enter arbitrary values for the parameters to test the service.

Чтобы просмотреть XML-код сообщения, щелкните XML.To view the message's XML, click XML. Чтобы отправить их в службу, нажмите кнопку вызвать.To send them to the service, click Invoke.

Для параметра набора данных щелкните. .For a DataSet parameter, click the кнопка рядом с полем изменить...button next to Edit… чтобы изменить его в новом окне, отображающем DataGrid.to edit it in a new window showing the DataGrid. Обратите внимание на внешний вид кнопок Копировать набор данных и вставить набор данных .Notice the appearance of the Copy DataSet and Paste DataSet buttons. Если схема объекта DataSet неизвестна при первом изменении, то DataGrid будет пустым.If the schema of the DataSet object is unknown upon the first edit, the DataGrid is empty. Необходимо вставить в текущий объект в DataGrid объект DataSet с такой же схемой.You have to paste a DataSet object with the same schema into the current object in the DataGrid. (Учтите, что перед операцией вставки потребуется скопировать схему из другого места.) Можно также скопировать объект набора данных для использования в будущем, нажав кнопку Копировать набор данных .(Notice that you need to copy the schema from somewhere else before the paste operation.) You can also copy a Dataset object for future usage by clicking the Copy DataSet button.

Ответ службы отображается под тестовыми параметрами.The service's response appears below the test parameters.

Примечание

Если ожидаемое возвращаемое значение является строкой, результат отображается в виде строки в кавычках, хотя входные значения вводятся без кавычек.If the expected return value is a string, the result will be displayed as a quoted string even though the input provided was not in quotes.

Если при создании контракта для службы некоторая операция была указана как односторонняя, реакция службы не отображается.If you specified a particular operation as one-way when you created the contract for the service, no service response is displayed. Как только сообщение поступает в очередь на доставку, появляется диалоговое окно с уведомлением, что сообщение успешно отравлено.As soon as the message is queued for delivery, a dialog box pops up to notify you that the message was successfully sent.

Поддержка сеансовSession Support

Флажок запустить новый прокси-сервер на вкладке операции службы позволяет включить поддержку сеанса.The Start a new proxy check box in a service operation's tab enables you to toggle session support. По умолчанию этот флажок снят.This box is cleared by default.

Если вы вводите параметры тестирования для определенной операции (или другой операции в той же конечной точке службы) и нажимайте кнопку вызвать несколько раз с снятым флажком, эти операции совместно используют один прокси-сервер, и состояние службы сохраняется в нескольких Operations.When you enter test parameters for a specific operation (or another operation in the same service endpoint) and click Invoke multiple times with the check box cleared, these operations share one proxy and the service status is persisted across multiple operations.

Если установлен флажок запустить новый прокси -сервер, то для каждого вызовазапускается новый прокси-сервер, сценарий предыдущего сеанса завершается, а состояние службы сбрасывается.If the Start a new proxy check box is checked, a new proxy is started for each Invoke, the previous session scenario is ended, and the service status is reset.

Изменение конфигурации клиентаEditing Client Configuration

В левой области главного окна тестового клиента WCF перечислены файлы конфигурации клиента.The left pane of the WCF Test Client main window lists client configuration files. Дважды щелкните любой из этих элементов, чтобы отобразить содержимое файла в правой области.Double-click any of the items to display the contents of the file in the right pane.

Изменение с помощью редактора конфигурации службEdit with Service Configuration Editor

Щелкните правой кнопкой мыши файл конфигурации на левой панели и выберите в контекстном меню пункт изменить с помощью SvcConfigEditor.Right-click Config File in the left pane and select the context menu Edit with SvcConfigEditor. Открывается редактор конфигурации служб, в который загружено содержимое конфигурации клиента.Service Configuration Editor is launched with the client configuration content. В этом средстве конфигурацию можно изменить и сохранить.You can edit the configuration and save it within the tool.

После сохранения файла в редакторе конфигураций службы WCF Test Client выводит предупреждающее сообщение о том, что файл был изменен вне, и спрашивает, нужно ли его перезагрузить.After saving the file in Service Configuration Editor, WCF Test Client displays a warning message to inform you that the file has been modified outside and asks whether you would like to reload it.

При выборе варианта Дасодержимое конфигурации на вкладке Client. dll. config отражает изменения, внесенные в редакторе.If you select Yes, the configuration content in the "Client.dll.config" tab reflects the changes you made in the editor.

Если выбрано значение нет, содержимое конфигурации на вкладке Client. dll. config остается неизменным, а измененное содержимое автоматически сохраняется в исходном файле.If you select No, the configuration content in the "Client.dll.config" tab remains unchanged and the modified content is automatically saved to the source file.

Восстановление конфигурации по умолчаниюRestore to Default Configuration

Если вы хотите отменить все изменения и восстановить конфигурацию клиента по умолчанию, щелкните правой кнопкой мыши файл конфигурации на левой панели и выберите контекстное меню восстановить конфигурацию по умолчанию. Загружается значение конфигурации по умолчанию, и содержимое на вкладке "Client. dll. config" восстанавливается.If you want to cancel all the changes and restore to the default client configuration, right-click Config File in the left pane and select the context menu Restore to Default Config. The default configuration value is loaded and content in "Client.dll.config" tab is restored.

Проверка измененийValidate Changes

Когда сохраненные изменения загружаются в тестовом клиенте WCF, конфигурация проверяется на допустимость в соответствии со схемой WCF.When saved changes are being loaded in WCF Test Client, the configuration is checked for validity against WCF schema. При нахождении ошибок отображается диалоговое окно со сведениями об ошибке.If errors are found, a dialog box is displayed to show error details.

При создании прокси-сервера, двоичной компиляции или вызове службы элементы меню, поддерживающие редактирование (т. е. «Edit...», «Restore...» и т. д.), отключаются.During proxy generation, binary compiling, or service invoking, menu items that support editing (that is, "Edit …", "Restore …", and so on) are disabled. Вызов службы также отключается при загрузке обновленной конфигурации в тестовый клиент WCF.Service invocation is also disabled when loading updated configuration to WCF Test Client.

Сохранение конфигурация клиентаPersist Client Configuration

-> На вкладке Конфигурация клиента параметры можно использовать параметр всегда повторно создавать конфигурацию при запуске служб, который включен по умолчанию.->The Tools->Options->Client Configuration tab contains an Always Regenerate Config When Launching Services option, which is enabled by default. Этот параметр указывает, что каждый раз, когда тестовый клиент WCF загружает службу, он повторно создает файл конфигурации на основе последних файлов контракта службы и службы App. config.This option specifies that every time WCF Test Client loads a service, it regenerates a configuration file based on the latest service contract and service App.config files.

Если вы изменили конфигурацию клиента для службы WCF и хотите всегда использовать этот обновленный файл для отладки службы, можно снять флажок повторно создать .If you have edited the client configuration for your WCF service and want to always use this updated file to debug your service, you can uncheck the Regenerate option. Таким образом, даже при обновлении службы и повторном открытии тестового клиента WCF файл Client. dll. config был обновлен ранее, а не повторно создан на основе обновленной службы.By doing so, even when you update the service and reopen WCF Test Client, the Client.dll.config file is the one you updated previously instead of a regenerated one based on the updated service.

Однако может потребоваться изменение файла конфигурации, чтобы сделать его совместимым с повторно созданным прокси.However, you might need to edit the configuration file to make it consistent with the regenerated proxy. Если повторно созданный прокси и файл конфигурации не соответствуют из-за обновленной службы, то произойдет ошибка при вызове службы.If the regenerated proxy and configuration file are mismatched due to an updated service, errors will occur when the service is invoked.

Внимание!

Если файл конфигурации клиента был изменен и выбран для повторного использования его в будущем, то файл находится в следующем расположении:If you have modified the client configuration file and select to reuse it in the future, you can find the file in the following location:

\Documents and Settings\[учетная запись пользователя] \ мои документс\тест проекты клиентов.\Documents and Settings\[User Account]\My Documents\Test Client Projects.

Все обновленные учетные данные, сохраненные в файле конфигурации клиента, защищены списком управления доступа (ACL) этой папки.Any updated credential information stored to the client configuration file is protected by the Access Control List (ACL) of this folder.

Добавление, удаление и обновление службAdding, Removing and Refreshing Services

Добавление службыAdd Service

Щелкните файл->Добавить службу , чтобы добавить службу в тестовый клиент WCF.Click File->Add Service to add a service to WCF Test Client. Далее требуется ввести универсальный код ресурса (адрес конечной точки) добавляемой службы.You are then required to type the URI (endpoint address) of the service to be added. Адрес службы может быть адресом обмена метаданными (MEX) или адресом языка описания веб-служб (WSDL).The service’s address can be a mex address or WSDL address.

В подменю недавние службы также можно найти список 10 недавно добавленных конечных точек служб.You can also find a list of 10 recently added services' endpoints in the Recent Services submenu. Если выбрать один из них, указанная служба будет добавлена в тестовый клиент WCF.If you select one of them, the specified service is added to WCF Test Client.

Можно также щелкнуть правой кнопкой мыши корень дерева службы My Serviceи выбрать команду Добавить службу , чтобы добиться того же результата.You can also right-click the root of service tree My Service Projects, and select Add Service to achieve the same result.

При создании прокси, двоичной компиляции или вызове службы, команды меню, которые поддерживают добавление службы отключены.During proxy generation, binary compiling, or service invocation, menu items that support adding a service are disabled. Вызов службы также отключен.Service invocation is also disabled.

Удаление службыRemove Service

Щелкните правой кнопкой мыши корень службы, который нужно удалить, и выберите пункт удалить службу , чтобы удалить службу из тестового клиента WCF.Right-click the service root of the service to be removed, and select Remove Service to remove a service from WCF Test Client.

При создании прокси, двоичной компиляции или вызове службы, команды меню, которые поддерживают удаление службы отключены.During proxy generation, binary compiling, or service invocation, menu items that support removing a service are disabled. Вызов службы также отключен.Service invocation is also disabled.

Обновление службыRefresh Service

Если в службу вносятся изменения во время выполнения тестового клиента WCF и необходимо убедиться, что реализация тестового клиента WCF для этой службы актуальна, щелкните правой кнопкой мыши корень службы и выберите Обновить службу.If a change is made to the service while WCF Test Client is running and you want to ensure that the WCF Test Client implementation for that service is up-to-date, right-click the service root of the service, and select Refresh Service. Обратите внимание, что после обновления состояние службы сброшено.Note that after refreshing, the service status is reset.

При создании прокси, двоичной компиляции или вызове службы, команды меню, которые поддерживают обновление службы отключены.During proxy generation, binary compiling, or service invocation, menu items that support refreshing a service are disabled. Вызов службы также отключен.Service invocation is also disabled.

Расположение файлов, созданных тестовым клиентом.Location of Files Generated by the Test Client

По умолчанию тестовый клиент WCF сохраняет созданный код клиента и файлы конфигурации в папке "проекты клиента%Аппдата%\локал\темп\тест".By default, WCF Test Client stores generated client code and configuration files in the "%appdata%\Local\temp\Test Client Projects" folder. Эта папка удаляется после выхода из тестового клиента WCF.This folder is deleted after WCF Test Client exits. Если в тестовом клиенте WCF был изменен файл конфигурации и параметр всегда повторно создавать конфигурацию при запуске служб отключен, измененный файл копируется в папку "качедконфиг" в разделе "Мои проекты клиента документс\тест" с сопоставлением ( Metadata-Address-to-File-Name) XML-файла в виде индекса.If a configuration file is modified in WCF Test Client and the Always Regenerate Config When Launching Services option is disabled, the modified file is copied to the "CachedConfig" folder under "My Documents\Test Client Projects" with a mapping (metadata-address-to-file-name) XML file as an index.

Вы также можете запустить тестовый клиент WCF в командной строке, использовать /ProjectPath параметр, чтобы указать новый путь для хранения созданных файлов, или /RestoreProjectPath использовать параметр для восстановления расположения по умолчанию.You can also start WCF Test Client in a command line, use the /ProjectPath switch to specify a new desired path for storing generated files, or use the /RestoreProjectPath switch to restore the default location. Синтаксис выглядит следующим образом:The syntax is as follows:

wcfTestClient.exe /ProjectPath [desired location]

При выполнении этой команды тестовый клиент WCF не открывается.Running this command does not open WCF Test Client. Изменяется только расположение папок.Only the folder location is changed. Эту команду можно выполнить, независимо от того, выполняется ли тестовый клиент WCF.You can run this command whether WCF Test Client is running or not. Новое расположение применяется при перезапуске тестового клиента WCF.The new location is applied when WCF Test Client is restarted. Сведения о расположении можно сохранить в реестре или в файле клиент WcfTestClient. exe. Option в папке «проекты клиента%Аппдата%\локал\темп\тест».The location information can be saved in registry, or in the WcfTestClient.exe.option file in the "%appdata%\Local\temp\Test Client Projects" folder.

Возможности, поддерживаемые тестовым клиентом WCFFeatures supported by WCF Test Client

Ниже приведен список функций, поддерживаемых клиентом WCF Test.The following is a list of features supported by WCF Test Client:

  • Вызов службы: Запрос/ответ и одностороннее сообщение.Service Invocation: Request/Response and One-way message.

  • Привязки: все привязки, поддерживаемые программой Svcutil.exe.Bindings: all bindings supported by Svcutil.exe.

  • Управление сеансом.Controlling Session.

  • Контракт сообщения.Message Contract.

  • XML-сериализация.XML serialization.

Ниже приведен список функций, которые не поддерживаются в тестовом клиенте WCF.The following is a list of features not supported by WCF Test Client:

  • Типы: Stream, Message, XmlElement, XmlAttribute, XmlNode, типы, в которых реализован интерфейс IXmlSerializable, включая связанный атрибут XmlSchemaProviderAttribute, а также типы XDocument и XElement и тип ADO.NET DataTable.Types: Stream, Message, XmlElement, XmlAttribute, XmlNode, types that implement the IXmlSerializable interface, including the related XmlSchemaProviderAttribute attribute, and the XDocument and XElement types and the ADO.NET DataTable type.

  • Дуплексный контракт.Duplex contract.

  • Транзакция.Transaction.

  • Безопасность: CardSpace, сертификат, имя пользователя и пароль.Security: CardSpace , Certificate, and Username/Password.

  • Привязки Всфедератионбиндинг, любые контекстные привязки и привязка HTTPS, WebHttpbinding (поддержка сообщения ответа JSON).Bindings: WSFederationbinding, any Context bindings and Https binding, WebHttpbinding (Json response message support).

Закрытие тестового клиента WCFClosing WCF Test Client

Вы можете закрыть тестовый клиент WCF следующими способами.You can close WCF Test Client in the following ways:

  • В меню файл выберите команду выход.On the File menu, click Exit. Кроме того, в главном окне тестового клиента WCF нажмите кнопку Закрыть.Alternatively, in the WCF Test Client main window, click Close. Оба эти действия также завершают работу автоматического размещения службы WCF и останавливают процесс отладки Visual Studio, если тестовый клиент WCF был запущен Visual Studio.Both of these actions also shut down WCF Service Auto Host and stop the Visual Studio debugging process if WCF Test Client was launched by Visual Studio.

  • Щелкните правой кнопкой мыши значок службы WCF в области уведомлений и выберите команду выход.Right-click the WCF Service Host icon in the notification area, and then click Exit. Это завершает работу как автоматического размещения службы WCF, так и тестового клиента WCF и останавливает процесс отладки Visual Studio.This shuts down both WCF Service Auto Host and WCF Test Client and stops the Visual Studio debugging process.

См. такжеSee also