Межпроцессное взаимодействие Между приложением C# и неуправляемым приложением C++

Используйте getTimezoneOffset (). Это даст вам смещение:

var date = new Date(); //ex 2019-01-18T16:26:44.982Z
var offset = - date.getTimezoneOffset() / 60; //in your case 1 

И вы добавите смещение к своей дате.

6
задан casperOne 24 May 2011 в 12:11
поделиться

7 ответов

Если межпроцессное взаимодействие всегда будет сделанным на той же машине, именованные каналы способ пойти, потому что они быстрее, чем другие опции.

Однако, если существует даже малейший шанс, что эта коммуникация могла бы произойти через границы машины в какой-то момент, пойдите с подходом сокета. Для C++ Вам будет нужен winsock2.h заголовочный файл. В C# используйте System.Net.Sockets пространство имен.

Это было некоторое время, так как я сделал неуправляемый C++, но мое воспоминание - то, что необходимо будет написать меньше кода C++, если Вы создаете сервер на стороне C++ и затем используете TcpClient класс на стороне C#.

7
ответ дан 9 December 2019 в 20:50
поделиться

Сокеты являются, вероятно, Вашим лучшим выбором.

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

Кроме того, это, вероятно, будет самая портативная опция (heck, Windows даже имеет выбор () для сокетов).

2
ответ дан 9 December 2019 в 20:50
поделиться

Сокеты и Именованные каналы являются двумя опциями, хорошо поддерживаемыми в управляемых и неуправляемых средах.

1
ответ дан 9 December 2019 в 20:50
поделиться

Я сказал бы сокеты и систему обмена сообщениями. Проверьте наш на Google Protocol Buffers.

1
ответ дан 9 December 2019 в 20:50
поделиться

Используйте или DCOM/RPC или именованные каналы - что-либо еще или небезопасно, hacky, или оба.

0
ответ дан 9 December 2019 в 20:50
поделиться

Создайте COM-объект Singleton. Поддержите данные в этом COM-объекте, который может быть считан и C++ и приложениями C#.

0
ответ дан 9 December 2019 в 20:50
поделиться

Существует много способов сделать это, но я думаю, что лучший способ состоял бы в том, чтобы использовать WCF и COM +. При хостинге сервиса в COM + можно получить доступ к нему через WCF в сервисе.NET, и через COM-интерфейсы в неуправляемом коде.

Вы могли бы хотеть проверить следующие разделы документации MSDN для начала работы:

Интеграция сервисов WCF с COM +: http://msdn.microsoft.com/en-us/library/bb735856.aspx

Интеграция с обзором приложений COM +: http://msdn.microsoft.com/en-us/library/ms734723.aspx

1
ответ дан 9 December 2019 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: