Alors qu'un service/application distinct serait mieux, vous pouvez utiliser wget.
GNU Wget est un logiciel gratuit pour la récupération des fichiers via HTTP, HTTPS et FTP , les plus largement utilisés des protocoles Internet. Il est un outil de ligne de commande non interactif, il peut facilement être appelé à partir scripts, tâches cron, terminaux sans support X Windows, etc.
Vous faire quelque chose comme:
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" --no-check-certificate https://www.exammple.com/YouController/YourAction -O NUL
dans un fichier .bat
et définissez-le pour exécuter via une tâche planifiée Windows au moment où vous le souhaitez (en supposant que vous n'avez pas besoin de l'exécuter moins de 60 secondes - si vous le faites, faites-le moi car j'ai une autre solution cela en utilisant un service Windows pour appeler le fichier bat à la place).
la partie -O NUL
Omettre serait également enregistrer la sortie pour que vous puissiez voir si tout se déroulait avec succès en faisant:
public ActionResult YourAction()
{
//Do your code, get some stats that show it ran properly.
return Content("Return your stats here.");
}
de votre action du contrôleur.
Je voudrais certainement créer une application séparée pour envoyer les emails et mettre en place une tâche planifiée sur le serveur pour l'exécuter quotidiennement. Configurer des minuteurs dans une application Web comme celle-ci est risqué. Si l'application n'est pas accessible pendant un certain temps, IIS peut la décharger ainsi que votre tâche quotidienne. – itsme86
Si vous n'êtes pas si strict pour utiliser l'action MVC, passez à hangfire.io. C'est génial. http://hangfire.io – Developer