Используйте технику хостинга. Вы можете самостоятельно размещаться в службе Windows и помещать событие с ошибкой, чтобы инициировать закрытие службы. Затем вы можете использовать Windows для перезапуска службы.
Или, если у вас Windows 2008, вы можете использовать WAS для размещения вашей службы, которая автоматически перезапустит ее.
Важно понимать, что ваша служба может иметь состояние, но в ней нет «потока», поэтому он не работает как таковой, объект просто существует. В основном вы платите Microsoft за предоставление вам .net и WCF, которые заботятся о стороне хостинга, они гарантируют вам, что ваш сервис останется доступным.
Сбой метода может привести к сбою службы, но вы можете обработать любые исключения, с которыми вы можете изящно справиться, и позволить операционной системе справляться с вещами, которые вы не можете (например, с нехваткой памяти и т.д.) Вы несете ответственность за устранение неисправности сервиса. Помимо этого, однако, WCF чрезвычайно надежен.