2011-05-26 4 views
3

Comment télécharger un fichier à partir d'un serveur Web à un autre serveur iisComment programmer le téléchargement de fichiers sur le serveur via la page Web ASP.NET

par exemple J'ai beaucoup de fichiers vidéo que je veux héberger sur mon site Web

les films sont téléchargés sur un autre site et je veux les récupérer sur mon propre site.

Est-il possible de planifier le téléchargement asynchrone de fichiers sur le serveur à l'aide de la page Web ASP.NET? Je n'ai qu'un accès FTP au serveur Web, car j'utilise l'hébergement partagé.

Répondre

1

Si vous utilisez l'hébergement partagé, la planification des tâches sera difficile. Vous pouvez implémenter une page de service qui effectue le téléchargement lorsqu'il est demandé. Cette page s'exécute sur le serveur de destination et demande une liste de fichiers du serveur source et procède au téléchargement de ces fichiers. Le serveur effectue tout le travail, le client qui demande la page de service pourrait juste obtenir un petit journal de ce que fait le serveur.

Ensuite, installez une tâche planifiée sur un autre système qui appelle la page de service à intervalles réguliers. Depuis l'appel à la page de service est une très faible charge sur le client, vous pouvez le faire de n'importe où (un serveur domestique ou de bureau, un routeur intelligent (dd-wrt) vous avez assis dans un placard quelque part ou même votre téléphone intelligent).

L'avantage de cette approche est que vous pouvez déclencher manuellement le téléchargement de n'importe où en accédant directement à la page de service depuis votre navigateur. En revanche, si le temps nécessaire pour terminer les téléchargements dépasse la durée maximale de la requête, votre demande risque d'être résiliée. Vous pouvez regarder dans asynchronous handlers si cela se produit.

0

Vous pouvez câbler une tâche à exécuter à chaque chargement de page ou de démarrage d'application (et recycler régulièrement le pool d'applications), mais ASP.NET n'est pas conçu pour ce type de tâche.

Il est préférable de créer un outil de service ou de ligne de commande pouvant être joint au planificateur de tâches pour effectuer les téléchargements de temps en temps.

0

1) Ajouter des entrées à une file d'attente dans votre application ASP.Net - soit la table MSMQ ou base de données.

2) Écris une application Windows service/console qui lit dans la file d'attente et traite chaque élément.

Vous pouvez également réaliser (2) avec ScheduledTask en SQL - d'autres moyens aussi sans aucun doute - l'élément clé est que vous mettez la file d'attente au milieu pour fournir la déconnexion et l'asychronie.

Questions connexes