Edge: Вызов собственного кода x86 из .NET на node.js x64 в x64 Windows

Созданный на 16 апр. 2013  ·  3Комментарии  ·  Источник: tjanczuk/edge

Привет,

Можно ли вызвать родную 32-разрядную dll из кода .NET в edge.js, используя node.js x64 в Windows x64?

В консольном .NET-приложении я могу вызвать свою старую 32-битную родную dll (от DllImport). Но используя тот же код с edge.js, я получаю BadImageException. Тот же результат я получу, если попробую вызвать сборку x86 .NET.

Итак, я должен использовать x86 node.js из-за использования некоторых устаревших компонентов x86?

Другой вопрос, а как насчет COM-ов?

Я видел, что IIS-узел использует только x86 node.js. У меня нет особых требований к x64 для моего приложения (но, конечно, версия x64 была бы лучше на машинах x64). Так что я должен использовать версию x86, не так ли?

Самый полезный комментарий

+1 - Мне интересно, был ли достигнут прогресс? Мой конкретный вариант использования заключается в том, что я хотел бы вызвать стороннюю сборку .NET, которая, в свою очередь, ссылается на 32-разрядную собственную библиотеку C ++.

Все 3 Комментарий

Если к нему можно получить доступ через C (собственный dll), вы можете быть заинтересованы в создании собственного модуля / пакета для использования с node.

Насколько сложно ваше взаимодействие, и можно ли его раскрыть через командную строку exe, которая использует конвейерный ввод / вывод?

Просто предлагаю пару альтернативных решений, которые могут быть более прямыми.

Спасибо за ответ

В некоторых случаях, когда у меня есть некоторая логика .NET с использованием native.dll, я думаю, что могу повторно использовать весь код в .NET и вызвать его один раз из JavaScript.

Но в другом случае, когда я мог бы иметь код JavaScript с некоторой логикой, которая использует логику из собственной библиотеки DLL, было бы лучше, если бы я использовал собственный код непосредственно из JavaScript.

В C # у меня есть две импортированные собственные функции, обе с подписью, например:

[DllImport ("library.dll")]
статический внешний int Func1 (byte [] p1, ref int p2, byte [] p3, int p4);

Я нашел пакет node.js для вызова dll-s https://github.com/rbranson/node-ffi.
но я еще не пробовал. Насколько сложно вызвать такую ​​функцию с помощью node-ffi?

Я думаю о том, чтобы получить двоичный файл из базы данных, затем декодировать с помощью какого-либо алгоритма в собственной dll и, при желании, изменить его размер и, в конце, вернуться в двоичный вывод в браузер. Кстати, кто-нибудь знает какой-нибудь хороший пакет node.js для обработки двоичных изображений в node.js?

+1 - Мне интересно, был ли достигнут прогресс? Мой конкретный вариант использования заключается в том, что я хотел бы вызвать стороннюю сборку .NET, которая, в свою очередь, ссылается на 32-разрядную собственную библиотеку C ++.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

harivasista picture harivasista  ·  5Комментарии

keyiis picture keyiis  ·  3Комментарии

tdupuy17 picture tdupuy17  ·  6Комментарии

raffaeler picture raffaeler  ·  10Комментарии

NickStrupat picture NickStrupat  ·  11Комментарии