Быстрый способ для C# связи с модулем python 3 с большими строковыми данными на одном хосте - PullRequest
0 голосов
/ 10 апреля 2020

У нас есть модуль python 2, который необходимо обновить до python 3. И на этом же хосте есть приложение C#, которое передаст большие строковые данные XML для вызова этого модуля python и получить ответ от python с помощью COM-сервера. Он прекрасно работает, так как py2exe поддерживает COM-сервер. Но py2exe больше не доступен в python 3, и ни один из других python, выпускающих инструмент, не поддерживает COM-сервер (например, pyinstaller). Поэтому мы должны найти другой способ.

Я пытался использовать Process в C#, использовать StandardInput для вызова python, а на стороне python я приму ввод для получения данных и ответа до C#. Он работает нормально, но по сравнению с предыдущей реализацией выглядит намного медленнее.

Есть некоторые другие опции, такие как Socket и предоставление REST API. Но для двух приложений на одном хосте это будет излишним, если использовать сетевой подход?

1 Ответ

0 голосов
/ 10 апреля 2020

После копания немного дальше, похоже, что вы хотите gRP C, который поддерживается в Python 3 и. NET (ядро и фреймворк 4.5 +):

https://grpc.io/docs/tutorials/basic/python/

https://docs.microsoft.com/en-us/aspnet/core/grpc/basics?view=aspnetcore-3.1

...