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 :

Interaction entre WebService et silverlight


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    consultant java
    Inscrit en
    Août 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : consultant java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 325
    Par défaut Interaction entre WebService et silverlight
    bonjour,
    j'utilise un web service pour me creer des fichier sur le disk (ou sur le serveur) .
    sauf que quand je passe par le silverlight il le repond pas et le webs ervice ne cree pas les fichier .
    mais quand je le test sans le silverlight ca fonctionne .

    voici mon code du silverlight :
    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
    53
    54
    55
    56
    57
    58
     
      BinaryWriter bwOutput=null;
     
                Stream aud = _sink.BackingStream;
     
                // nouveau
     
     
                bwOutput.Write("RIFF".ToCharArray());
     
                // Total Length Of Package To Follow
                // Computed as data length plus the header length without the data
                // we have written so far and this data (44 - 4 ("RIFF") - 4 (this data))
                bwOutput.Write((uint)(aud.Length + 36));
     
                bwOutput.Write("WAVE".ToCharArray());
     
                // -- FORMAT chunk
     
                bwOutput.Write("fmt ".ToCharArray());
     
                // Length Of FORMAT Chunk (Binary, always 0x10)
                bwOutput.Write((uint)0x10);
     
                // Always 0x01
                bwOutput.Write((ushort)0x01);
     
                // -- DATA chunk
     
                bwOutput.Write("data".ToCharArray());
     
                // Length Of Data To Follow
                bwOutput.Write((uint)aud.Length);
     
                // Raw PCM data follows...
     
                // Reset position in aud and remember its origin position
                // to restore at the end.
                long originalaudStreamPosition = aud.Position;
                aud.Seek(0, SeekOrigin.Begin);
     
                // Append all data from aud stream into output stream.
                byte[] buffer = new byte[4096];
                int read;       // number of bytes read in one iteration
                while ((read = aud.Read(buffer, 0, 4096)) > 0)
                {
                    bwOutput.Write(buffer, 0, read);
                }
     
                aud.Seek(originalaudStreamPosition, SeekOrigin.Begin);
     
     
                //
     
                ServiceSoapClient sr = new ServiceSoapClient();
     
     
        sr.SavePcmToWavAsync(buffer);
    voici le code de mon web service:

    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
     
     
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
     
    public class Service : System.Web.Services.WebService
    {
        public Service () {
     
        }
     
        [WebMethod ]
     
        public void HelloWorld(string jj)
        {
            FileStream output = new FileStream("d:/kk.wav", FileMode.Create);
        }
     
     
        [WebMethod]
        public void SavePcmToWav(byte[] buffer)
        {
     
     
            // string saveTo = @"d:\kkk";
     
            // // create a write stream
            //   Stream output = new FileStream("d:/kk.wav", FileMode.Create);
            FileStream output = File.Create(@"d:\toto.wav");
     
            //Stream output = File.Create("d:/toto.wav");
     
     
            BinaryWriter bwOutput = new BinaryWriter(output);
     
     
     
            bwOutput.Write(buffer, 0, 4096);
     
     
            output.Close();
     
            //  rawData.Seek(originalRawDataStreamPosition, SeekOrigin.Begin);
     
        }
     
    }

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Est-ce que ton service web et ton application Silverlight se trouve dans le même domaine ? Sinon un fichier ClientAccessPolicy.xml est nécessaire pour autoriser l'application à communiquer avec le service.

  3. #3
    Membre éclairé
    Homme Profil pro
    consultant java
    Inscrit en
    Août 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : consultant java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 325
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Est-ce que ton service web et ton application Silverlight se trouve dans le même domaine ?

    le meme domaine c'est a dire ????

    ben au debut j'ai testé en mettant mon web service dans un autre projet, puisque ca n'a pas amrché , j'ai remis le tout dans le meme projet !!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Plus simple : est-ce que ton application Silverlight et ton service web sont hébergé au même endroit ?

  5. #5
    Membre éclairé
    Homme Profil pro
    consultant java
    Inscrit en
    Août 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : consultant java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 325
    Par défaut
    pour mon application silvelight je l'ai pas encore hebergé, c'est toujours dans mon vs 2010 .
    par contre le webs ervice j l'ai complié et publié mais toujours en local dans le meme dossier de projet du silverlight

  6. #6
    Invité
    Invité(e)
    Par défaut
    Est-ce que les URL de l'application Silverlight et de ton service web sont en partie identique ? Vu que t'es sur VS les numéros de port sont-ils identiques ?

    Simple mets nous les URL de ton application Silverlight et de ton service web STP.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/08/2011, 09h30
  2. Réponses: 6
    Dernier message: 08/04/2010, 17h19
  3. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  4. [Collaboration/Interaction] Peut-on schématiser une interaction entre un bouton de commande et un autre objet ?
    Par manel007 dans le forum Autres Diagrammes
    Réponses: 5
    Dernier message: 21/09/2004, 01h01

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