#javascript #html #asp.net #sql-server
#javascript #HTML #asp.net #sql-сервер
Вопрос:
Я написал простое веб-приложение для создания отчетов с ASP.NET и SQL, который по сути генерирует отчет CSV, когда пользователь отправляет форму. Все это работает нормально, но мне было интересно, есть ли какой-либо способ автоматизировать процесс отправки. Например, могу ли я написать программу или демон для отправки формы или отправки данных POST на страницу каждые 24 часа и автоматической загрузки отчетов? Я не могу найти никаких инструментов для этого, но это кажется возможным. Помощь была бы очень признательна.
Комментарии:
1. Кажется, вы ответили на свой собственный вопрос в тексте вопроса. Демон / служба является одним из наиболее распространенных решений проблем такого типа.
2. Помимо того, что уже упоминалось, вы можете использовать библиотеку фоновых задач, такую как hangfire ( hangfire.io ), чтобы запланировать эти задачи для вас. Вы уже используете asp.net и sql server, так что он должен вписаться довольно легко.
Ответ №1:
«Неспецифический» характер этой генерации отчетов означает, что для этого обычно не используются инструменты. Вместо этого вы бы (как вы сказали) использовали запланированную задачу или задание cron для регулярного вызова URL-адреса. Вы также можете отказаться от консольного приложения с помощью an HttpWebRequest
и просто использовать curl даже в Windows.
Ответ №2:
- Вы можете создать одну запланированную задачу Windows, которую мы будем запускать каждые 24 часа.
- Вы можете выполнить пакетный файл, используя эту запланированную задачу. Просто указав путь к пакетному файлу. Этот пакетный файл выполнит один код скрипта VB, написанный в отдельном файле.
- Командный файл должен содержать эту строку
cscript.exe report.vbs
- report.vbs должен содержать следующий код:
Const URL = «http://demo.com/auto_generate_report.aspx»
‘===========================================
Const READYSTATE_COMPLETE = 4
Set iE = CreateObject(«InternetExplorer.Application»)
IE.Visible = True
с IE
.Navigate2 URL
, пока нет .readyState = READYSTATE_COMPLETE
wscript.sleep 1000
Wend
wscript.sleep 60000
.
Завершите
работу, установив IE = ничего - Вы можете написать логику для создания отчета при загрузке страницы страницы, которую вы вызвали с помощью запланированной задачи.