Итак, у меня есть службы WCF, которые размещаются в приложении VB6 через COM. У меня проблема, когда вы отлаживаете приложение VB6, приложение запускается под процессом VB6.exe, а не отдельным процессом, таким как Visual Studio. Если я завершаю работу приложения, нажимая «Стоп» в отладчике, или возникает исключение, то при следующем запуске приложения оно пытается запустить хост wcf снова, и я получаю эту ошибку
ChannelDispatcher в 'http://localhost:8080/basic' с контрактом (-ами)' "IEvalService" "не может открыть свой IChannelListener.
Я знаю, это потому, что в таких ситуациях не вызывается ServiceHost.Abort или ServiceHost.Close. Я называю это, когда я обычно закрываю приложение, и оно работает в следующий раз. Единственный способ исправить это - перезапустить VB.
Есть ли способ проверить работоспособность хоста службы, прервать его и запустить снова?