У меня есть приложение родительской формы Windows и дочерний commandline.exe. Используя модифицированный пример MSDN для анонимных каналов (h ttp: //msdn.microsoft.com/en-us/library/bb546102.aspx ), я могу отправить сериализованный объект от родителя к дочернему . Потомок может десериализовать объект и прочитать значения.
Возможно, я неправильно понимаю механизм анонимного канала, однако я ожидаю, что канал останется открытым, пока я его не закрою, так что я могу отправить другой объект, когда захочу, однако после отправки / получения объекта канал больше не подключен (определяется свойством IsConnected).
В настоящий момент, когда объект пересылается от родителя к потомку, канал закрывается (не «мной»). Я поддерживаю ссылку на исходный pipeHandle локально, но не могу повторно открыть канал. Должен ли я иметь возможность или не должен был вообще закрыться? Я не понимаю, как я могу открыть еще один новый канал, поскольку я не могу передать дескриптор от родителя к клиенту (начальный дескриптор канала был передан args в первом экземпляре)
Как мне отправить другой объект из родительского ребенку?
Я понимаю, что могу использовать именованные каналы, но MSDN рекомендует использовать анонимные каналы для IPC на том же локальном компьютере.
Большое спасибо
Арни