Передача данных между приложением VB6 и приложением .Net - PullRequest
4 голосов
/ 27 января 2012

Мне нужно передать данные между приложением vb6 и приложением .net. Эти данные будут либо записываться, либо читаться каждую секунду. Это около 30 полей. Оба приложения находятся на одной машине. В настоящее время я передаю эти данные через реестр, и они отлично работают, но меня это немного нервирует. Я бы сделал это с помощью текстового файла, но меня беспокоит потеря данных.

Каков наилучший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 27 января 2012

Я бы рекомендовал использовать какой-либо процесс RPC для обмена информацией, если вы хотите сделать это легко.

Самым простым, вероятно, будет XML-RPC

VB6 и .Net , похоже, оба имеют необходимые библиотеки.

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

1 голос
/ 28 января 2012

На самом деле почтовые ящики отлично работают между компьютерами. Хотя они не очень хорошо работают с сообщениями, размер которых превышает 400 байт.

DDE все еще поддерживается и работает довольно быстро. Однако, вероятно, нет поддержки .Net.

И, конечно, простой внепроцессный COM - это всего лишь тонкий слой поверх Windows RPC.

1 голос
/ 27 января 2012

Общий сервер? Да, реестр работает, текстовый файл будет работать, но в многопользовательской среде вам лучше использовать базу данных (например, MS Access или SQL Server).

0 голосов
/ 27 января 2012

Выберите яд: почтовые ящики, файлы с отображением в памяти, именованные каналы, сокеты.Для этого есть много справки и кода в Интернете.

Небольшие сообщения между процессами на одном компьютере (обе ОС Windows): используйте MailSlots.

Большие блоки данных между процессами водин и тот же компьютер: используйте файлы с отображением в памяти.

Потоковая передача сообщений между процессами (одинаковые или разные машины, обе ОС Windows): переход по именованным каналам.

Потоковая передача сообщений между процессами (одинаковые или разные)машины, одинаковые или разные ОС): перейдите с помощью Sockets.


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...