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

ASP.NET Discussion :

Deserialisation sous IIS


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut Deserialisation sous IIS
    Bonjour,

    J'ai publié une application web sur IIS 7.
    L'application fonctionne, cependant lorsque j'essaye de désérialiser un fichier XML qui se trouve dans le répertoire du projet ~/XML/), l'objet retourné est null.

    J'ai fini par constater que dans IIS, il fallait ajouter des droits d'écriture sur le répertoire XML, sans quoi la désérialisation ne fonctionne pas.

    Je n'ai trouvé sur le net aucune réponse à ce problème, juste d'autres personnes qui ont le même souci.

    Je note que sur ma machine de développement, je n'ai rien eu à faire dans IIS pour que la désérialisation fonctionne du premier coup.

    Pourriez-vous me dire comment résoudre ce problème ?

    Par avance merci.

  2. #2
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Peux-tu nous montrer le code que tu utilises pour déserialiser le fichier.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par meziantou Voir le message
    Peux-tu nous montrer le code que tu utilises pour déserialiser le fichier.
    Salut Meziantou,

    Voici mon code :

    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
     
        public class XMLRegistryReader {
     
            private string fileName;
     
            public XMLRegistryReader(string fn) {
                this.fileName = fn;
            }
     
            public RegistryInfo extractObjectFromXML() {
                try {
                    return DeserializeObject(typeof(RegistryInfo), fileName) as RegistryInfo;
                } catch (Exception) {
                    return null;
                }
            }
     
            public static object DeserializeObject(Type objectType, string filePath) {
                try {
                    object objectToDeserialize = null;
                    XmlSerializer serializer = new XmlSerializer(objectType);
                    if (File.Exists(filePath)) {
                        FileStream fileStream = new FileStream(filePath, FileMode.Open);
                        objectToDeserialize = serializer.Deserialize(fileStream);
                        fileStream.Close();
                    }
                    return objectToDeserialize;
                } catch (Exception) {
                    return null;
                }
            }
     
        }

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Je me permets de relancer le sujet.
    J'ai contourné mon problème en ajoutant les droits d'écriture sur un répertoire, mais ceci ne m'explique pas pourquoi, ou à quel niveau la désérialisation pose problème.

    Auriez-vous un élément de réponse qui pourrait m'aider ?
    Meziantou, mon code t'a-t-il inspiré ?

    Par avance merci,

  5. #5
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    A priori rien de choquant à ce que "FileStream" demande des droits d'écriture puisqu'il permet de lire et d'écrire.
    Il est possible d'utiliser "StreamReader" pour la lecture seule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    using (StreamReader reader = new StreamReader(filePath))
    {
         objectToDeserialize = serializer.Deserialize(reader);
    }
    Il est possible aussi d'utiliser File.OpenRead(Path)

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut
    Merci beaucoup dkmix !

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

Discussions similaires

  1. [IIS] Utilisation PHP sous IIS
    Par steve o'steen dans le forum IIS
    Réponses: 4
    Dernier message: 23/03/2006, 16h47
  2. Réponses: 2
    Dernier message: 20/01/2006, 18h08
  3. Limite d'upload sous IIS 5
    Par boleduch dans le forum IIS
    Réponses: 2
    Dernier message: 18/11/2005, 14h24
  4. Enrgistrer une dll sous IIS
    Par jeff37 dans le forum ASP
    Réponses: 2
    Dernier message: 12/07/2004, 18h23
  5. Problème de transfert FTP sous IIS
    Par thanathz dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 16h27

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