Question Arreter code page Silverlight

  • vendredi 5 octobre 2012 08:24
     
     

    Bonjour à tous,

    je travaille sur une appli Silverlight de type "application de navigation Silverlight".

    Dans certaines pages de l'appli, j'utilise une boucle appelant un web service. Cette boucle peut parfois appeler des milliers de fois le web service (autant de fois que le client à d'article)...

    Le problème est que lorsque l'on quitte la page, la boucle continue et appel donc le web service à chaque fois pour rien!

    Je pensais que sur l'évènement de changement de page, Silverlight arrêter tout seul les actions de la page que l'on quitte !

    Concrétement, il faudrait que je sois capable au déclenchement de l'évènement Unloaded de la page d’arrêter les traitements de la page... Un truc genre lapage.Dispose.

    Si quelqu'un à une piste...

    Merci d'avance


Toutes les réponses

  • vendredi 5 octobre 2012 09:53
     
     

    Petite précision ...

    J'ai réussi à faire à peu près ce que je voulais...

    En fait, dans les pages ou il y a ces fameuses boucle, j'ai

    • rajouté une variable PageOuverte de type Booléen initialisée à "vrai".
    • Sur l'événement UnLoaded de la page, je passe cette variable à "faux"
    • Dans la boucle qui appel le webservice, je teste si la variable est à "Faux". Si elle est à faux, je quitte la méthode.

    J'avais aussi la possibilité de récupérer le Application.Current.ContentFrame.Content et de tester dans la fameuse méthode si il était égal à la page (If Application.Current.ContentFrame.Content=Me then ...). Je pense que cela doit être un peu plus gourmand...

    Bref mon problème est que cette technique n'est pas générique pour un sou, j'aurais préférer gérer cela dans le MainPage sur l'événement ContentFrame.Navigating par exemple. Mais je ne vois pas du tout comment arrêter une méthode depuis une autre méthode sans avoir rien à mettre dans la méthode à arrêter...

    Merci d'avance pour vos lumières


  • mardi 16 octobre 2012 09:31
    Propriétaire
     
     

    Bonjour,

    Pouvons-nous considérer que vous avez résolu votre problème? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?

    Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !

    Cordialement,

    Aurel


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

  • mercredi 17 octobre 2012 09:25
     
     

    Bonjour, avez-vous lu le dernier post du thread?

    Il s'agit d'une réponse de moi à moi qui explique que mon problème est à moitié résolu.