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

Dotnet Discussion :

[WebServices] BeginMaFonction & EndMaFonction ?


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut [WebServices] BeginMaFonction & EndMaFonction ?
    J'ai un webservices dans laquelle il y a une fonction : MaFonction;
    Et lorsque que j'ajoute sa reference dans un projet il me colle ces 2 fonction ( Begin... et End... )

    A quoi elles servent ces 2 fonction ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    ça me fait penser à du BeginInvoke et EndInvoke de delegate qui servent à lancer un traitement asynchrone puis a en recuperer le résultat. Je suppose que c'est la même chose ici.


    EDIT : j'avais commencé ma réponse par "mais de quoi tu parles ?", c'etait avant de voir que c'etait de WebService, désolé . Donc ma réponse est bonne, il s'agit de lancer ta fonction de maniere asynchrone (et en enregistrant un callBack qui sera appelé qd le traitement sera fini), ton traitement principal se poursuit, qd le traitement asynchrone est terminé .Net te rappel sur ton callBack, et la tu appels le EndMaFonction pour en avoir le resultat.

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    Desolé, j'ai recentré un peu ma question, c'etait vraiment du pas clair du tout.
    Je recommence :
    J'ai creer un WebService tout bete dans lequel j'ai fait un fonction HelloWorld qui me renvoi une String ( en l'occurence : 'Hello World !' )

    J'ai ensuite fait une WebApplication alaquelle j'ai ajouter une reference Web ( mon WebService ).
    Maintenant lorsque je vais dans le code de mon WebService, a ma fonction HelloWorld, il m'a rajouté 2 fonction : BeginHelloWorld et EndHelloWorld )

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Je vois que tu as répondu avant que j'edite ma premiere réponse . Je te renvoie vers celle ci maintenant que je l'ai modifié.

  5. #5
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    aHa ...
    Que c'est dur de s'y mettre a ce truc ...

    J'ai pas tout bien compris. Cette histoire de CallBack, c'est comme un "thread" ?
    Dans mon cas, je vais avoir beaucoup ( une 100aine ) d'utilisateurs connectés a mon WS et qui vont envoyer de grosse requetes.

    Au lieu de dire, j'envoyer ma "question" et tant que le WS a pas repondu personne ne peut envoyer une autre question.
    Tous les utilisateur peuvent envoyer un "Begin" et chacun attend son "End" en meme temps ... ?

    Je sais pas si je suis tres clair encore une fois ...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Un callBack c'est une fonction à toi, mais qui sera appelée par un autre "composant" à un moment donné (ici qd le traitement de ta fonction est terminé).
    Le principe de l'appel asynchrone rappel effectivement les threads et concernant les problemes de concurrence que tu souleves, je pense que ça dépend beaucoup du design de ton WebService (y a t'il utilisation de variables statiques ? Est-il "thread safe" ? etc...) mais egalement des WebService eux meme. Le mieux serait que tu te documentes correctement sur le sujet, moi je n'y connais rien ou presque (mais encore une fois, a mon avis un appel à une méthode de WebService ne bloque pas d'autres appels, sauf blocage explicite par le développeur, c'est à la methode d'etre sans état afin de permettre l'acces concurrent). Dernier point, si les clients de ton WebServices sont des pages Web de tte façon tu ne pourras pas utiliser le Begin / End , c'est utile uniquement sur un client "lourd" (appli windows, service, ligne de commande...)

  7. #7
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    Citation Envoyé par Sphax
    Dernier point, si les clients de ton WebServices sont des pages Web de tte façon tu ne pourras pas utiliser le Begin / End , c'est utile uniquement sur un client "lourd" (appli windows, service, ligne de commande...)
    Ca, ca me rassure !
    Et je viens de me rendre compte, qu'en fait, ce n'est pas mon WS qui gere les "files d'attentes" mais IIS directement tout seul comme grand !

    Merci pour ton aide Sphax !

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    IIS gere les files d'attente de la meme maniere que pour une page Web non ? Autrement dit il sert le plus de monde possible en même temps, et pour chacun il va instancier ton WebControl, dans un même appDomain, lancer l'exécution de la bonne fonction, et renvoyer le résultat au client. Du coup tu as toujours à gérer la concurrence (mais c'est trés simple encore une fois si tu ne maintiens pas d'etat dans ton WS ou tes fonctions). Arrete moi si je dis une betise hein, je ne maitrise pas les WebServices.

    Je t'en prie, pour l'aide .

  9. #9
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    Citation Envoyé par Sphax
    IIS gere les files d'attente de la meme maniere que pour une page Web non ?
    Bah il me semble oui !
    Citation Envoyé par Sphax
    Du coup tu as toujours à gérer la concurrence (mais c'est trés simple encore une fois si tu ne maintiens pas d'etat dans ton WS ou tes fonctions).
    Qu'entend tu par "concurrence" ?
    Le fait que 2 client ( I.E. ) lance des question en meme temps ?
    Si c'est le cas, je pense que ca ce gere au niveau de IIS directement

    A fouiller !

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Par concurrence j'entends effectivement plusieurs exécution simultanées de tes méthodes. Dans ce cas c'est a toi de t'assurer qu'une fonction exécutée par plusieurs threads simultanément fonctionnera bien dans ces conditions (le probleme se situe généralement au niveau de ressources partagées, que ce soit des variables statiques, des fichiers etc...) . Mais laisse tomber pour le moment, je suppose que si tu ne vois pas ce que je veux dire, c'est que tu n'en as pas besoin... ou alors tu t'appercevras assez tot du probleme .

  11. #11
    Membre confirmé

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Par défaut
    Je pense que le probleme ne se posera pas dans mon cas mais effectivement, c'est un point a ne pas negliger !

    Dans mon cas, c'est juste mon WS qui se charge de recuper un "jeu" de données et de le renvoyer au client ... donc pas trop de souci de ce genre !

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

Discussions similaires

  1. [WebService]Fichier Java et WSDL associé pour Web Services
    Par P4_le_requin_breton dans le forum Services Web
    Réponses: 9
    Dernier message: 23/02/2004, 12h55
  2. [WebServices] - Taux de change
    Par malbaladejo dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 03/02/2004, 16h20
  3. [XMLRAD] Security des WebModules et/ou des WebServices
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 18/12/2002, 17h09
  4. WebService Google sur builder 5?
    Par billuh dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 19h43

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