Правильное использование NamedPipeServerStream C # - я получаю IOExceptions - PullRequest
1 голос
/ 02 октября 2010

Я искал некоторое время, но, кажется, трудно найти какие-либо конкретные ответы о том, как восстановиться после исключений, вызванных с помощью NamedPipeServerStream.BeginWaitForConnection. У меня есть приложение, которое устанавливает именованный сервер с известным именем и прослушивает сообщения для выполнения определенных действий.

Работает нормально и модно, пока приложение не будет перезапущено. Обычно это приводит к IOException, говорящему: «Канал закрывается». Как я могу правильно восстановиться после этого исключения и использовать то же имя для моего именованного канала? Будем благодарны за любые хорошие ресурсы для реализации достойного производства сервера именованных каналов.

1 Ответ

2 голосов
/ 04 октября 2010

Если вы отправляете сообщение сразу после запуска процесса. Вы должны вызвать ожидание слива труб, прежде чем закрывать ручку. Убедитесь, что WaitForPipeDrain в потоке перед закрытием.

- Удачи!

...