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

C# Discussion :

Problème d'accès à un fichier.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Par défaut Problème d'accès à un fichier.
    Bonjour,

    Je réalise en ce moment un service windows pour la gestion de récupération de variables OPC.
    Enfin bref, dans mon service, je lance un thread dans le onstart() qui va s'occuper de tous le reste.
    La première fonction exécuté par le thread va permettre (normalement) de vérifier la présence du fichier d'options créé par un autre programme.
    Il test son existance et s'il existe on regarde si sa taille est supérieur à 0 (en clair s'il contient quelque chose).

    La vérification de la présence du fichier marche sans aucun soucis.
    Par contre, la création d'un FileStream m'amène directement dans le catch avec : "L'accès au chemin .... est refusé".

    Et là j'ai aucune idée de ce à quoi c'est dû.
    Le test de l'existance qui bloque un autre accès ?
    Le thread ne peut avoir les droits sur un fichier ?

    Voici mon code si vous trouvez le problème ça m'aiderai beaucoup.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public ServiceOPC()
    {
        t = new Thread(new ThreadStart(VerifOptions));
    }
     
    // Fonction exécuté au démarrage du service
    protected override void OnStart(string[] args)
    {
        EventLog.WriteEntry("Lancement du service OPC-Reporting");
     
        t.Start();
    }
     
    // Fonction de vérification de la présense du fichier de configuration
    public void VerifOptions()
    {
         try
         {
              if (System.IO.File.Exists("c:\\options.xml"))
              {
                   bool fic = false;
     
                   FileStream fs = new FileStream("c:\\options.xml", FileMode.Open, FileAccess.Read);
                   if (fs.Length != 0)
                   {
                       fic = true;
                   }
                   fs.Close();
     
                   if (fic)
                   {
                       DSoptions.ReadXml("options.xml");
                       RecupOptions();
                    }
                    else
                    {
                        Thread.Sleep(10000);
                        VerifOptions();
                     }
               }
               else
               {
                    Thread.Sleep(10000);
                    VerifOptions();
                }
           }
           catch (Exception ex)
           {
                string message = ex.Message;
                EventLog.WriteEntry("Problème avec le fichier d'options : " + message);
           }
    }
    Comme vous pouvez le voir, j'ai déjà eu recours à un boolean car sinon je ne pouvais pas récupérer le fichier dans le dataset.

    D'avance merci.

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    il me semble qu il faut que tu rajoutes des droits iis

    ou cree un compte pour iis au quel tu affecte les droits en lecture etecriture

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    utilise la console d administration iis pour affecter les droits

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Par défaut
    Des droits iis ?
    Pourtant j'ai pas le serveur installé sur mon pc !
    Le fait est que ce même système est en place dans le programme qui crée le fichier d'option et qu'il fonctionne bien. Par contre j'ai pas de thread.

    Le fait de créer un thread m'oblige à lui donner des droits spécifique sinon il ne peut pas accéder à une fichier c'est ça ?

    Aurai-tu un départ de solution ou un tuto qui expliquerai comment mettre des droits au thread ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Par défaut
    Merci pour les réponses que tu m'as apporté, j'ai eu un doute aprés en faite j'ai trouvé qu'il n'y avait pas d'accès possible sur c: pour beaucoup de personne.
    J'ai donc modifié les droits d'accès dans les propriétés de c: dans l'onglet sécurité.

    Encore merci de m'avoir fait poser ces genre de question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'accès à un fichier de configuration XML
    Par yeddoughmi dans le forum Autres
    Réponses: 1
    Dernier message: 30/05/2007, 20h53
  2. Réponses: 8
    Dernier message: 13/03/2007, 13h59
  3. [C#] : Thread - Problème d'accès à un fichier
    Par dcollart dans le forum C#
    Réponses: 3
    Dernier message: 04/12/2006, 10h15
  4. [Jar] Problème d'accès à des fichiers
    Par GLDavid dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2006, 15h51
  5. Probléme d'accès sur fichier PARADOX
    Par Debure dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/01/2006, 13h34

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