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

Silverlight Discussion :

JSON avec WebClient


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 496
    Par défaut JSON avec WebClient
    Bonjour,
    J'ai un script PHP qui me permet de lister les requetes effectuées depuis le client Silverlight :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    header('Cache-Control: no-cache, must-revalidate');
    header('Expires: '.date('D, d M Y H:i:s').' GMT');
    header('Content-type: application/json');
    $fh=fopen('requests.txt', 'a');
    fwrite($fh, date('Y-m-d H:i:s')."\t".$_SERVER['REQUEST_URI']."\n");
    fclose($fh);
    ?>
    Mon serveur PHP est sur Apache et les connections se font par le port 8888.
    Ensuite j'effectue mes appels en C# de la manière suivante :
    Code c# : 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 enum JSONQuery { GetMetrics, GetPerformances, GetLogin, GetImageList, GetDatabases, GetDistorsions, SendImages };
        public class JSON
        {
            private string url;
            WebClient wc = new WebClient();
            JSONQuery query;
            public JSON(string address)
            {
                url = address;
                wc.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCompleted);
            }
            public void Request(JSONQuery q, object post)
            {
                switch (q)
                {
                    case JSONQuery.GetPerformances:
                        query = q;
                        wc.OpenReadAsync(new Uri(url + "?performances"));
                        break;
                    case JSONQuery.GetDatabases:
                        query = q;
                        MessageBox.Show(url + "?databases");
                        wc.OpenReadAsync(new Uri(url + "?databases"));
                        break;
                    default: break;
                }
            }
            public void OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
            {
                Stream strm = e.Result;
                switch(query)
                {
                    default: break;
                }
    }
    Quand je fais un appel à ma fonction Request(), j'ai pas de nouvelle ligne dans mon fichier de log
    json.Request(modules.JSONQuery.GetDatabases); (l'objet json est créé avant)
    Avez vous une idée du problème ?

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Fais un DownloadStringAsync au lieu d'un OpenRead. Dans le Completed tu pourras voir ce que le serveur a retourne avec e.Result

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 496
    Par défaut
    Je suis passé sur le port 80 et j'ai crée les fichiers :
    - crossdomain.xml
    - clientaccesspolicy.xml

    Ca marche maintenant, merci

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

Discussions similaires

  1. Prise en main de JSON avec GWT
    Par GroXx dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 05/02/2009, 12h47
  2. [POO] parcourir un objet json avec une boucle for in
    Par bucheron007 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/01/2009, 12h55
  3. Création de fichier json avec PHP
    Par versus68 dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2008, 11h56
  4. Problème avec WebClient
    Par The eye dans le forum VB.NET
    Réponses: 6
    Dernier message: 20/03/2008, 00h11
  5. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05

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