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 :

Appel d'une web méthode


Sujet :

Services Web

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut Appel d'une web méthode
    Bonjour, j'ai créer un web service avec une web méthode d'insertion qui recoit un url d'un fichier, j'ai deja essayé cette méthode mais en tant que programme console ca marche tres bien, voila une partie du code de cette web méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void Inserer(string file) {
     
            List<string[]> result = new List<string[]>();
            string[] lines = File.ReadAllLines("C:/DDD.txt", Encoding.Default);
     
            foreach (string line in lines)
                result.Add(line.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
    Mais au moment de l'appel de la web méthode il me renvoie l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    System.UnauthorizedAccessException: L'accès au chemin d'accès 'C:\DDD.txt' est refusé.
       à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       à System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
       à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
       à System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
       à System.IO.StreamReader..ctor(String path, Encoding encoding)
       à System.IO.File.ReadAllLines(String path, Encoding encoding)
       à Service.Inserer(String file) dans c:\Inetpub\wwwroot\WSTransfert\App_Code\Service.cs:ligne 23
    si vous avez une idée je serais reconnaissante

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    L'utilisateur ASP.NET a un jeu de permissions plus restreint, pour des raisons de sécurité. Par défaut il ne peut pas accéder au répertoire C:\. Mets ton fichier ailleurs, ou alors donne la permission à l'utilisateur ASP.NET sur ce répertoire (déconseillé)

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Merci ca marche mais si je veux laisser le fichier dans n'importe quel dossier que dois je faire ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut
    Salut Msysteme,

    pour avoir de la souplesse, tu peux mettre ton nom de fichier dans web.config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    <add key="file" value="d:\...."/>
    ...
    Dans le code te récupérer ton nom de fichier comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    string[] lines = File.ReadAllLines(ConfigurationManager.AppSettings["file"], Encoding.Default);
    ...
    J'espère que cela te conviendra!

    Cédric

  5. #5
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Merci j'essaierai et je reviendrai vers toi mais sincérement j'ai apprécié l'idée de passer les paramètres a travers les web config !

Discussions similaires

  1. problème d'appel d'une méthode d'un service web
    Par aida1986 dans le forum Services Web
    Réponses: 15
    Dernier message: 21/05/2010, 16h10
  2. Rendre accessible une web méthode sur le net
    Par Shargat dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/06/2009, 11h22
  3. Appel d'une web méthode pour 3 évenements de retour
    Par CARNIBAL dans le forum Services Web
    Réponses: 2
    Dernier message: 16/04/2009, 10h20
  4. Réponses: 6
    Dernier message: 24/03/2009, 17h17
  5. [PL/SQL]Appel d'une classe/méthode java
    Par marsup54 dans le forum SQL
    Réponses: 4
    Dernier message: 30/06/2004, 17h44

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