asp. net ядро ​​выполнено с URL - PullRequest
0 голосов
/ 01 апреля 2020

Я создал ASP. NET Core 3.1 WebAPI-проект, в котором я также реализовал некоторые вызовы API для внешних служб API, которые затем будут импортироваться и сохраняться в моей локальной базе данных.

Позволяет скажем, у меня есть маршрут "/ import / mymethod", который запустит запуск импорта.

Теперь я хочу сделать это запланированной задачей windows, чтобы она выполнялась, например, каждые 10 минут.

When I execute the "exe" file "myproject.exe" it says:

Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000"

Можно ли скомпилировать мой проект и запустить скомпилированный exe-файл с параметрами, такими как "myproject.exe -path http://localhost: 5000 / import / mymethod ", после чего он запустит маршрут с помощью метода?

Или есть другой способ, которым я могу достичь этого?

С уважением

1 Ответ

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

Если вы используете этот API-интерфейс только для учебы на локальном компьютере, проще всего выполнить следующее. 1) Извлеките логи импорта c позади маршрута импорта и вызовите эту логи c, используя консольное приложение, и запускайте эту функцию каждые 10 минут, используя запланированные задачи. Важное замечание: Делайте это, если вы работаете только на локальном компьютере, и если вы не планируете развернуть его в рабочей среде

Если вы хотите использовать его в рабочей среде, у вас есть несколько вариантов

1) Вы можете написать веб-задание, которое будет развернуто с вашим веб-API и запускаться каждые 10 минут, после чего данные будут импортированы в вашу базу данных. См. Запуск фоновых задач с помощью WebJobs в Azure Служба приложений . Вы можете написать logi c внутри веб-задания, чтобы импортировать данные и вставить в базу данных

2) Использовать функцию azure, запускаемую по времени, для вызова API, откуда вы хотите импортировать данные в база данных. При таком подходе звук добавляет еще один проект, которым вам придется управлять

3) Создать приложение logi c, запускаемое по таймеру, которое выполняет те же функции logi c, что и azure, указанные в 2

4) Фактически выставьте ваш маршрут как «/ import / mymethod» в вашем веб-интерфейсе, а затем на локальном компьютере создайте сценарий powershell или пакетный файл, который вызывает веб-интерфейс API и планировщик сценария powershell или пакетного файла, который будет запускаться каждый раз. 10 минут с использованием windows планировщика

Лично я предпочитаю использовать веб-задания, поскольку они были созданы специально для фоновых задач.

...