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

Services Web Discussion :

[C#] Pourquoi je ne peux pas sauvegarder le fichier Xml ?


Sujet :

Services Web

  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Par défaut [C#] Pourquoi je ne peux pas sauvegarder le fichier Xml ?
    Bonjour j'ai creer un web service en dotnet qui me permet de faire ce que je veux. La persistance des données et gerer grace a un fichier xml. Le probleme est que lorsque je veux sauvegarder mon fichier il lance une exception avec pour message
    L'accès au chemin d'accès "D:\Work\Authentification\Capgemini.Authentification\Datas\utilisateurs.xml" est refusé.
    voici les deux methodes de mon code qui me permettent d'effectuer les operation load et save de mon xml
    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
     
    public static void Initialize(){
    			XmlFile = System.Web.HttpRuntime.AppDomainAppPath+System.IO.Path.DirectorySeparatorChar
    				+ ConfigurationSettings.AppSettings["XmlFile"];
    			xmlDoc=new XmlDocument();
    			xmlDoc.Load(XmlFile);			
    		}
     
    		/// <summary>
    		/// Sauvegarde le fichier Xml de la mémoire sur disque
    		/// </summary>
    		public static void Save(){
    			FileStream fs=new FileStream(XmlFile,FileMode.Create);
    			XmlTextWriter xm=new XmlTextWriter(fs,null);
    			xm.Formatting = Formatting.Indented;
    			xm.Indentation = 2;
    			xmlDoc.WriteTo(xm);
    			xm.Close();
                            fs.Close();
    		}
    si vous avez une piste pour m'aider ....

    merci d'avance

    [Tags [ASPX][C#] [WebService] ajoutés par freegreg]
    [Balise
    [Quote](Citation) ajoutée]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    Est ce que
    D:\Work\Authentification\Capgemini.Authentification\Datas\utilisateurs.xml"
    est dans ton répertoire virtuel?
    non? alors il faut mettre les droits dessus

  3. #3
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Par défaut
    Oui ce fichier se trouve dans mon repertoire virtuel et j'ai deja ajoute aspnet dans les options de securite avec des droits en ecriture er lecture

  4. #4
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    il n'est pas en lecture seule par hasard?!

  5. #5
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Par défaut
    non malheureusement il n'etait pas en lecture seul

    J'ai peut etre trouvé une solution mais je la test avant de vous la donner

  6. #6
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 14
    Par défaut Eureka
    Voila ce que j'ai fait et ca a l'aire de fonctionner en fait je passe par un filestream qui me permet de gerer un peur plus ce qui se passe au niveau des accés fichiers

    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
     
    public static void Initialize(){
    			XmlFile = System.Web.HttpRuntime.AppDomainAppPath+System.IO.Path.DirectorySeparatorChar
    				+ ConfigurationSettings.AppSettings["XmlFile"];
    			xmlDoc=new XmlDocument();
    			try{
    				FileStream fs=new FileStream(XmlFile,FileMode.Open);
    				XmlTextReader xm=new XmlTextReader(fs);
    				xmlDoc.Load(xm);
    				xm.Close();
    				fs.Close();
    			}
    			catch(System.Exception e){
    				throw new AuthentificationException(e.Message);
    			}
     
    		}
     
    		/// <summary>
    		/// Sauvegarde le fichier Xml de la mémoire sur disque
    		/// </summary>
    		public static void Save(){
    			try{
    				FileStream fs=new FileStream(XmlFile,FileMode.Create);
    				XmlTextWriter xm=new XmlTextWriter(fs,null);
    				xm.Formatting = Formatting.Indented;
    				xm.Indentation = 2;
    				xmlDoc.Save(xm);
    				xm.Close();
    				fs.Close();
    			}
    			catch(System.Exception e){
    				throw new AuthentificationException(e.Message);
    			}
    		}
    Voila merci a tous pour vos reponses

    greg

    PS : desolé pour les tags je n'y suis pas encore habitué

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/07/2007, 17h06
  2. Réponses: 9
    Dernier message: 14/09/2006, 18h03
  3. [VB.NET] Pourquoi je ne peux pas me connecter à une base SQL ?
    Par Hakki dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 12h35
  4. [C#] Pourquoi je ne peux pas remplir ma liste ?
    Par cosmos38240 dans le forum Services Web
    Réponses: 5
    Dernier message: 28/08/2006, 16h13
  5. [C#] Pourquoi je ne peux pas m'authentifier ?
    Par kendras dans le forum Services Web
    Réponses: 3
    Dernier message: 21/02/2006, 14h49

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