2010-05-28 3 views
0

Comment exécuter le code asp.NET dans une tâche planifiée de Windows?Tâches planifiées pour ASP.NET

+0

Pourquoi voudriez-vous? Il est beaucoup plus facile de créer une application de console C# ou VB.NET à la place. – Thorarin

Répondre

0

Le moyen le plus simple et probablement le plus simple de le faire est de faire du code une application de ligne de commande, puis de l'exécuter à l'aide du planificateur Windows disponible dans le Panneau de configuration.

-2

Il n'existe aucun moyen de planifier du code ASP.NET à partir d'une application Web, car le site Web est sans état.

Ma méthode préférée pour planifier le code .NET consiste à écrire un service Windows que j'installe sur le serveur Web. Voir. http://blog.dogma.co.uk/search/label/windowsservice.

Une manière plus rapide et moins efficace consiste à ajouter le code à une page et à exécuter cette page à partir des tâches planifiées de Windows.

Rich

+0

Ce n'est pas vrai. Vous pouvez planifier très bien dans le code ASP.NET, tant que l'application est en cours d'exécution. Dans IIS 7.5, vous pouvez également forcer l'exécution des applications, même si aucune demande n'est effectuée. – Thorarin

+0

Vous pouvez forcer le démarrage à chaud d'une application Web, mais je ne pense pas que vous puissiez programmer du code spécifique dans l'application. Si je suis incorrect, je serai heureusement mal prouvé. Malheureusement, vous n'avez pas fourni d'informations supplémentaires. – kim3er

+0

Vous pouvez démarrer des threads d'arrière-plan dans ASP.NET, comme dans n'importe quelle application .NET. À partir du fil d'arrière-plan, vous pouvez faire n'importe quelle tâche d'arrière-plan ou planification que vous aimez. – Thorarin

5

J'ai souvent utilisé wget/curl pour faire exactement cela de tâches planifiées de Windows (ou même de Cron sur un autre serveur). Pour certaines choses, il est préférable de tout garder dans l'application web.

par exemple.

curl -k https://example.com/update.aspx?id=71077345 -u username:password 

ou

wget -O - http://example.com/process.php 
+0

Merci mec, c'est très utile .. – Neeraj

0

Si vous avez accès au serveur, utilisez les tâches planifiées.

Si vous n'avez pas accès (hébergement mutualisé), créez une page Web/un service que vous pouvez appeler pour déclencher l'action. Sachez que "l'action" est limitée dans le temps.

Vous pouvez créer une petite application, que vous pouvez programmer sur votre propre ordinateur pour appeler le serveur distant, afin de déclencher l'action.

1

ASP.Net a une bonne intégration avec Windows Workflow (WF). J'ai accompli 2 projets avec une telle intégration. WF autorise les tâches persistantes, donc il est indépendant sur le redémarrage d'IIS ou le crash du système

Questions connexes