При разработке Web Service'ов мне приходилось писать UI обёртку для тестирования этих самых сервисов, когда очередной разработчик говорил что он "не работает". Т.е. разработчику кидался бинарник, содержащий в себе тестовый вызов этого самого сервиса.
Когда Я начал писать WCF сервисы, мне понравилась идея использования WCF Test Client, который идёт в комплекте с Visual Studio. Теперь не приходилось писать каждый раз тест или отвечать на вопрос, "а сервис Х сейчас работает"? И не удобно добавлять каждый раз ранее запрашиваемый сервис через пп. меню «Add...».
Помониторив работу WCF Test Client'а, Я решил поковырять его поглубже...
Первое, что Я до сих пор не могу понять, клиент создавал прокси сборку только для 32b процессора. Соответственно, сам клиент запускался через эмулятор на 64b процессора. И дело не в каком-то страшном коде, а просто в svcutil передавался ключ создания прокси сборки для 32b процессора и всё...
Второе, что меня не устраивало, что при добавлении сервиса каждый раз происходит создание прокси сборки, а при закрывании программы прокси-класс стирался. Теперь прокси удаляется только при удалении адреса из списка. Т.е. можно проверить старую сборку на совместимость с обновлённой версией сервиса.
Пользовательский интерфейс вызова метода я не менял и оставил всё как было в оригинале. Из-за этого, плагин требует дополнительную сборку, которая идёт в составе с VS (См. «Ограничения»). В дополнение добавлен функционал сохранения параметров последнего вызова каждого метода сервиса.
Из настроек ничего из оригинала не перенесено, но добавлена связка логин/пароль при использовании прокси-сервера для получения WSDL'я и вызова методов.
Auto save input values
: False — Автоматически сохранять и загружать значения параметров вызываемых методов. Пока null значения не выводятся.Rewrite Configuration
: True — Перезаписывать .config файл при обновлении сервисаProxy User Name / Proxy Password
— Логин и пароль от прокси (есть есть)Show SOAP WS Payload
: False — Отобразить чистый SOAP ответ и запрос от сервиса в окне тестирования WS/WCF метода. Выделен отдельным свойством, т.к. клиент может подвиснуть при отображении SOAP.Для открытия клиента, необходимо выбрать в меню пп. Tools→Network→WS/WCF Test Client Tools→Test→Network→Service Test Client.
В тулбаре доступна только одна кнопка — добавить сервис. При добавлении сервиса, создание прокси-сборки происходит единожды, при необходимости обновить прокси, необходимо в контекстном меню сборки выбрать элемент "Update".
При двойном нажатии на метод WCF или WS сервиса, откроется окно для тестового вызова сервиса. Тут ничего нового нет и весь алгоритм работы аналогичен стандартому «WCF Test Client» приложению.
Microsoft.VisualStudio.VirtualTreeGrid, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
, которая идёт вместе с Visual Studio. (Зависимая сборка объедена в одну сборку с плагином)Node→Node→ParentNode
), то код повисал в бесконечной рекурсии.