C #: мои методы вызова программ работают на одном компьютере

2

Я пишу инструмент С#, который будет выполнять проверки зависимостей для других программ. Один из способов, которым я это делаю, - это перебрать массив процессов и посмотреть, найдено ли определенное имя процесса. Если это так, я хотел бы назвать определенный метод для процесса (который, как я знаю, поддерживает). Этот метод возвращает словарь. Я хотел бы взять этот вывод словаря и использовать его в моей проверке зависимостей.

Все это происходит на одной рабочей станции не по сети.

Как я могу это сделать? Могу ли я общаться с программой и вызывать метод в процессе, сохранить этот результат? Должен ли я использовать IPC? Удаленный доступ .NET? Как??

Я никогда не использовал ни один из этих инструментов. Я хотел бы знать, с чего начать >

Может кто-нибудь дать мне несколько советов?

Я использую .NET 2.0, поэтому у меня нет WCF. Любые другие идеи?

  • 0
    Вы не можете вызывать методы непосредственно для объектов, которые живут внутри процесса, и сам процесс не предоставляет никаких методов для такого взаимодействия. Таким образом, вам нужно будет использовать какой-то IPC. Если вы написали соответствующую программу, вы можете отправлять ей сигналы, используя объекты синхронизации (например, семафоры или мьютексы), но это полезно только тогда, когда вам не нужно вводить данные извне процесса.
  • 0
    Вероятно, было бы гораздо проще перейти на .Net 4, чем пытаться делать то, что вы хотите, перед WCF.
Теги:
ipc
remoting

2 ответа

2
Лучший ответ

Да, в некоторых случаях реализация .NET Remoting, вероятно, будет методом выбора для вас. Конечно, это требует, чтобы вы создавали код для обоих этих процессов.

Если вы не контролируете другой процесс, и этот процесс не имеет документального интерфейса для межпроцессного общения, я не думаю, что вы можете получить доступ к методам в этом процессе.

  • 0
    Спасибо за Ваш ответ.
2

Вы можете использовать именованные каналы в WCF для этого:

http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication

В этом уроке показан простой пример того, что, как я полагаю, вы пытаетесь сделать.

  • 0
    Ссылка не открывается

Ещё вопросы

Сообщество Overcoder
Наверх
Меню