C # - клиент / сервер WCF Откройте консоль приложения-службы - PullRequest
1 голос
/ 13 ноября 2010

проблема больше, но я пытаюсь сократить ее до более простого стиля:

Предположим, что я просто программирую модель клиент / сервер. Мне удается подключиться к Сервису, я могу использовать его функцию и могу общаться. Соединение создается через файл конфигурации на сайте сервера и на клиенте. просто подключается к нему в своей функции Main, создавая Channelfactory для WsHTTPEndpoint. Так что все в порядке. Я могу общаться через консоль с сервером и посмотреть на самом деле, что происходит.

Но давайте теперь представим, что я программирую сервер, который предоставляет услугу, но также является клиентом другого приложения-службы. Я хочу проверить, работает ли соединение и могу ли я отправить несколько запросов, но нет консоли, в которую я мог бы писать. Поэтому мне трудно увидеть, работает ли что-то или нет.

Как запустить сервер и одновременно использовать на нем консоль, как в обычном клиентском приложении?

1 Ответ

0 голосов
/ 14 ноября 2010

Если вам требуется это для целей разработки, я могу порекомендовать модульное тестирование. Прежде чем использовать модульное тестирование, я хотел бы разработать нечто вроде того, что вы описали: создать консольный сервер и клиент и взаимодействовать с консольным клиентом, чтобы понять, имеют ли смысл отправленные и полученные данные.

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

  • Тесты маленькие и четкие, поэтому я знаю, что я тестирую;

  • Испытания повторяются, поэтому я знаю, что когда все испытания пройдут, маленький кусочек, который я проверял ранее, все еще работает;

  • Тесты просты в запуске, так же просты, как консольный клиент;

  • Когда я создал достаточно тестов, я могу использовать этот компонент в приложении, где я не могу взаимодействовать с консолью. Мне больше не нужно беспокоиться о том, все ли работает, потому что модульные тесты проверили это для меня.

Такой подход значительно облегчил мне жизнь.

...