IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Interaction FTP IIS


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut Interaction FTP IIS
    bonjour,

    Une application doit me déposer un fichier sur un FTP (via IIS). Je dois par la suite traiter ce fichier.

    Mon problème est d'avoir "un évènement" qui déclenche le traitement de mon fichier une fois que celui-ci a été déposé.

    J'ai pensé a plusieurs façons :

    - Un processus qui regarde toutes les X secondes si un fichier est crée
    - les HttpHandlers mais pas sur que ce soit faisable.
    - Peut être y a t'il un événement générer par IIS qui pourrait être récupérable

    Si vous avez des idées je suis preneur

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    Dans la mesure où il s'agit de FTP, c'est totalement indépendant de Http...
    les HTTPHandlers ne te serons donc pas d'un grand secours...

    Il n'est pas difficile, ni insurmontable d'avoir un service qui scrute l'arborescence des répertoires acessible par le FTP pour vérifier la création d'un nouveau fichier et d'agir en conséquence.

    En ce qui concerne IIS, j'ignore s'il est possible dans un module ISAPI (pour HTTP), de récupérer un message indiquant s'il vient de recevoir un fichier FTP.

    Disons que si l'application qui traite se fichier n'a rien avoir avec HTTP, une solution par service windows, est un très bon choix.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    merci pour ta réponse,

    L'application qui est censée traiter le fichier est une application web. Donc si je m'oriente vers un service qui scrute le répertoire, j'ai surement intérêt de lancer un thread dans le "application start". Cela ne va pas être un peu lourd en terme de performance?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    Ba si tu est comme moi, tu aimes sortir l'artiellerie lourde.

    Le problème c'est que lancer un thread qui ne meurt pas dans ton Application start pose un petit souci... éthique.
    Car la session en cours n'expire pas du coup... et tout appel à la page va lancer un thread qui ne mourra pas... un peu génant.

    il ne faut pas oublié que dans une application web, tu travail dans un mode "débranché", chaque page est exécuté, et basta. meme si ton appli est isapi et reste en mémoire... je vois pas trop ce que tu veux faire en fait.

    soit plus explicite sur les besoins de ces traitements, a quel finalité vis à vis de l'interaction utilisateur ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    Mes besoins sont les suivants :

    - On me dépose un fichier XML dans un dossier via FTP.
    - Dès qu'un fichier est déposé je le lis et en extrait la valeur de certaines balises. Ces données sont ensuite insérées en base de données.

    Sinon je peux crée un Service qui lancée sur le serveur, mais du coup il devra insérer dans la BD et n'aura pas accès au paramètre de connection a cette BD qui sont dans le fichier de configuration de mon application Web

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    euh en fait ca ca peut toujours se contourner...

    ConfigurationManager n'est jamais qu'un outil qui prend un fichier de config XML et le lit et le traduit.

    Qui t'empeche de faire tes propres fichiers de configs structurés comme tu le souhaite, partagés ainsi par ton appli web ASPx et ton service windows ?
    Ayant un problème similaire vu que j'ai une instance de l'appli qui marche en mode service et l'autre en mode GUI... (ya juste l'exe qui diffère, mais le reste du programme est dans une assembly .dll) j'ai géré moi meme ma configuration, qui du coup est plus structurée, et exactement comme je le souhaite.
    Je peux donc rajouteer des sections pour les modules sans tout faire planter quand les modules sont pas installés, ou tout faire planter si le module en question a pas sa section dans le fichier de config.

    lire et gérer un XML en .NET demeure assez enfantin, quelque soit le langage, meme si ma préférence va à C#.
    Fait donc ton propre ConfigurationManager dans une assembly.
    Et fait référence à cette assembly dans ton Service windows et dans ton appli ASP.NET.
    c'est tout.

    Effectivement le mieux est encore de faire un service windows qui fait ce traitement dès qu'il remarque une insertion.
    Et si tu veux encore éviter des tuiles, tu fait le traitement d'un fichier dans un thread de pool, celui-ci meurt à la fin du traitement et basta. Ainsi le thread chargé de vérifier toutes les n secondes si ya pas du nouveau n'est pas encombré.

Discussions similaires

  1. Configurer service ftp iis 7
    Par YodaOne dans le forum IIS
    Réponses: 1
    Dernier message: 28/10/2009, 20h32
  2. FTP IIS anonyme et identifié
    Par Poulain dans le forum IIS
    Réponses: 2
    Dernier message: 24/06/2008, 19h21
  3. Réponses: 2
    Dernier message: 13/11/2007, 17h40
  4. Connection serveur ftp IIS avec ssl sur IE7
    Par lestat02 dans le forum IIS
    Réponses: 2
    Dernier message: 11/04/2007, 18h54
  5. Sessions actives sur un serveur FTP (IIS)
    Par Tuizi dans le forum Delphi
    Réponses: 1
    Dernier message: 26/06/2006, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo