Ответ 1
Да, общение возможно, как указано несколькими людьми в ваших комментариях.
Это (некоторые) варианты:
- Процесс node запускает HTTP-сервер, а ваше приложение С# выполняет запросы JSON Rest по http
- Процесс node запускает веб-сервис SOAP с помощью node-soap
- Приложение С# запускает ваше приложение node, и вы делаете IPC, записывая входной поток процесса node и читаете его выходным потоком.
- Процесс node запускает сервер сокетов, а ваше приложение С# выполняет запросы по tcp.
- Вы используете третий процесс/сервер, например Redis или Message Queue
- Все, что позволяет вам обмениваться данными, такими как файлы.
Я бы порекомендовал вам перейти к первому варианту, так как это не требует, чтобы вы определяли языковой протокол для отправки по "проводу". Другая причина заключалась бы в том, что имеется много документации по использованию Rest with С# и node.js.
В качестве клиентской библиотеки на С# я бы предложил вам посмотреть Restsharp в качестве клиентской библиотеки, если вы не можете использовать последнюю версию .NET. (4.5). Если вы можете использовать последнюю версию, используйте HttpClient, чтобы позвонить в ваш node.js restservice. Для node просто используйте Express.
Вариант 2 может быть быстрым, так как есть хорошая поддержка в VS для веб-сервисов, однако я использовал только node -soap в качестве клиента, поэтому не могу прокомментировать, насколько хорошо работают веб-службы node -sapap с С# клиентов.