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 pour 3 évenements de retour


Sujet :

Services Web

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Points : 102
    Points
    102
    Par défaut Appel d'une web méthode pour 3 évenements de retour
    Bonjour,

    Je développe une application Silverlight qui permet d'uploader des fichiers sur un serveur.

    D'abord, je découpe mon fichier en parties de 100 octets et je les envoi à une web méthode qui s'occupe de recoller les morceaux.

    Quand j'envoi le paquet j'utilise la méthode AppendChunkAsync qui prend en paramètre le Guid de mon fichier (il est généré) et le tableau de byte converti en String.

    Ensuite je m'abonne à l'évenement puis dans la méthode qui traite l'évenement, j'envoi le paquet suivant et ainsi de suite.

    Normalement, pour un paquet envoyé donc un appel à la web méthode, je devrais recevoir un événement, or j'en recois plus d'un.

    Voici un petit exemple :
    Un fichier de 217 octets.
    Donc envoi de 3 paquets (2*100 + 1*17) = 3 appels à la web méthode
    MAIS réception de 6 événements.

    Je n'ai pas accès au code des web méthodes.

    Avez-vous une idée d'où vient le problème ?
    Je peux vous fournir un peu de code si cela peut aider.


    Cordialement,
    Guillaume

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 202
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    Peux tu déposer des fragments de ton code source ?
    La partie envoi (client) et la partie reception (webservice)

    A+

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Points : 102
    Points
    102
    Par défaut
    Arf, désolé boby62423.

    J'ai trouvé la réponse hier soir et je suis pas revenu depuis.

    Voici le code qui envoi :
    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
     
    rivate void Uploading(long size)
            {
                if (!_pauseUploading)
                {
                    if (size != 100)
                    {
                        _finalUploadCompleted = true;
                    }
     
                    try
                    {
                        byte[] b = new byte[size];
     
                        for (int i = 0; i < size; i++)
                        {
                            b[i] = (byte)_currentUploadingFile.ByteStream.GetValue(i + (int)_currentPositionRead);
                        }
                        webService = new Prexens.SharePoint.UploadManager.Silverlight.PrexensUpload.UploadServiceSoapClient();
     
                        webService.AppendChunkAsync(_currentUploadingFile.Id, Convert.ToBase64String(b));
                        webService.AppendChunkCompleted += new EventHandler<Prexens.SharePoint.UploadManager.Silverlight.PrexensUpload.AppendChunkCompletedEventArgs>(webServ_AppendChunkCompleted);
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            }
    Et voici le code qui recoit:
    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
     
    if (!_finalUploadCompleted)
                        {
                            _currentPositionRead += 100;
                            _currentUploadingFile.Progression = (int)((_currentPositionRead * 100) / _sizeFileUploading);
     
                            if (_currentPositionRead < (_numberOfPaquets * 100))
                            {
                                Uploading(100);
                            }
                            else
                            {
                                Uploading(_lastSizePaquet);
                            }
                        }
                        else
                        {
                            _currentPositionRead += _lastSizePaquet;
                            _currentUploadingFile.Progression = 100;
     
                            webService = new Prexens.SharePoint.UploadManager.Silverlight.PrexensUpload.UploadServiceSoapClient();    
                            webService.CloseUploadAsync(_currentUploadingFile.Id);
                            webService.CloseUploadCompleted += new EventHandler<Prexens.SharePoint.UploadManager.Silverlight.PrexensUpload.CloseUploadCompletedEventArgs>(webServ_CloseUploadCompleted);
                        }
                    }
    Et en fait, ilm fallait que j'attende la réponse d'un envoi pour traiter le prochain envoi.

    J'ai donc trouver mon problème : avant chaque envoi, il faut que je re-instancie mon webservice.

    Si ca peut aider quelqu'un car cela m'a fait perdre un temps fou.

    Cordialement,

    Guillaume

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

Discussions similaires

  1. Appel d'une web méthode
    Par Msysteme dans le forum Services Web
    Réponses: 4
    Dernier message: 12/05/2009, 12h02
  2. [débutant] Créer une nouvelle méthode pour un objet
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 05/12/2007, 08h57
  3. Une Web API pour le forum, c'est imaginable ?
    Par mchk0123 dans le forum Evolutions du club
    Réponses: 7
    Dernier message: 11/06/2007, 10h32
  4. [PL/SQL]Appel d'une classe/méthode java
    Par marsup54 dans le forum SQL
    Réponses: 4
    Dernier message: 30/06/2004, 16h44
  5. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41

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