#python #c# #asp.net #django #asp.net-core-webapi
#python #c# #asp.net #django #asp.net-core-webapi
Вопрос:
Я хочу подключить Django project и .NET core project, потому что я хочу, чтобы он использовал преимущества хорошей библиотеки, доступной на python, поэтому я сделаю ее сильной.NET core project.so через некоторое облегчение на нем.
Ответ №1:
Я боюсь, что нет способа запустить оба Django/Python
и .Net/C#
в том же процессе. Но есть по крайней мере один другой вариант.
Параметры используют MicroService
архитектуру. Это означает, что вы создаете два отдельных проекта, один для .Net
, а другой для Django/Python
. Затем заставьте эти два проекта взаимодействовать друг с другом.
Они могут взаимодействовать друг с другом несколькими способами. Наиболее распространенным способом является связь через REST
. Это означает, что каждый проект предоставляет другой стороне множество API. Другая сторона может использовать (вызывать) API для получения или отправки требуемых данных.
Другой способ общения — использовать общую базу данных. Другой вариант — использовать решения для обмена сообщениями, такие как RabbitMQ
.
В MicroService
архитектуре вы можете разместить каждое из них на удобном веб-сервере или, если вам нравятся модные технологии, вы можете использовать docker
.
Обновить
Практический пример может быть таким:
- Ваша сторона Python имеет функциональность вычисления прямого расстояния между точками A и B.
- Вы создаете приложение Django с помощью REST API, называемого
calc
- Он получает A и B как через строку запроса. Точно так
http://localhost:5000/api/calc?lata=53.123amp;longa=34.134amp;latb=53.999amp;longb=34.999
же (учитывайте a и b в параметрах запроса) - Создайте .Сетевое приложение увядает как веб-приложение или рабочий стол
- С помощью .Net app, вызов
calc
api с помощью утилит, таких какHttpClient
- Теперь у вас есть результаты в вашем .Сетевая часть
Комментарии:
1. Я понимаю, что вы говорите, и благодарю вас за ответ. теперь я решаю, что пойду с REST, но можете ли вы привести пример, как общаться друг с другом. так что я могу больше понять в этой теме . или дайте ссылку на источник, чтобы я мог углубиться в эту тему.
2. Привет, яш, ты узнал, как это сделать? Я ищу что-то подобное, и этот поток — единственный ресурс, который я нашел :/