У меня есть клиент c # winform, который при запуске запускает службу WCF (namedpipes). Если запущен другой экземпляр, он свяжется с первым экземпляром, предоставит некоторые параметры и затем завершит работу.
Если первый экземпляр дает сбой (все окна закрываются), но процесс все еще выполняется, при запуске нового экземпляра он свяжется с «сбойным» экземпляром и подумает, что это полностью рабочий экземпляр.
В результате новый экземпляр доставит параметры и завершит работу. Конечный пользователь будет думать, что ничего не происходит.
Я, например, обрабатываю AppDomain.UnhandledException
, но приложение закрывается из-за исключительной ситуации, вместо этого будет показано сообщение. Если исключение, тем не менее, требует отключения, то будет выполнен изящный выход.
Как мне справиться с этим?