2010-10-17 4 views
1

J'ai un client C# qui, une fois par heure, doit publier des fichiers zip sur le site ASP.Net. Cela doit être complètement automatisé sans interaction de l'utilisateur.Publication d'un fichier de C# vers ASP.Net

Vous vous demandez comment vous y prendre?

Idéalement, vous souhaitez publier le fichier sans configurer de pages non .aspx/.asp.

Merci pour l'aide!

Répondre

4

Cela dépend de ce que le site cible attend en tant que type de contenu. Si elle est multipart/form-data alors un WebClient simple devrait faire le travail:

using (var client = new WebClient()) 
{ 
    byte[] result = client.UploadFile(
     "http://foo.com/index.aspx", @"d:\foo\bar.zip" 
    ); 
    // TODO: Handle the server response if necessary 
} 
+0

okay bien, frapper le serveur parfaitement mais comment puis-je enregistrer le System.Web.MultipartContentElement dans ASP (son dans la demande) –

+0

Request.SaveAs ("C: \\ TestFile.zip", faux); –

0

Envoyer un HttpRequest contenant toutes les informations nécessaires, y compris les octets du fichier. Google devrait vous aider sur celui-ci.

Néanmoins, je ne comprends pas pourquoi vous ne voulez pas utiliser une page non .aspx pour cela. Un handle générique ( .ashx) est approprié pour cela. Mais je vous suggère toujours d'utiliser un autre moyen pour télécharger ce fichier, par exemple. par FTP et utiliser un service qui surveille le directoy avec un FileWatcher pour déterminer et agir sur les modifications

+0

Pourquoi traiter la configuration de la sécurité du système de fichiers pour FTP, puis ajouter un nouveau service pour regarder le répertoire (et peut-être avoir à se soucier du nom du fichier) et ensuite installer ce service, quand il est dix minutes travail dans l'ASPX? –

0

Afin d'automatiser la tâche, vous pouvez utiliser un DispatcherTimer (http://msdn.microsoft.com/fr-fr/ library/system.windows.threading.dispatchertimer.aspx), en affectant un gestionnaire à l'événement Tick.

Questions connexes