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 :

[RiaServices] Cascade de LoadOperation<>.Completed


Sujet :

Silverlight

  1. #1
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Par défaut [RiaServices] Cascade de LoadOperation<>.Completed
    Bonjour à tous

    Je travaille sur une appli Silverlight avec RiaServices + EF. Je rapatrie donc mes données en instanciant un DomainContext, suite à quoi je load ce contexte avec une table. Et pour pouvoir coder et être sûr que mon context est bien remplie de données, j'utilise l'événement Completed comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MyContext context = new MyContext();
    LoadOperation<MyTable> load = MyContext.Load<MyTable>(MyContext.GetMyTableQuery());
    load.Completed += new EventHandler(load_Completed)
    Et c'est dans la méthode load_Completed que je continue à coder.

    Mon problème, c'est que si j'ai 50 tables de 50 DomainContexts différents à loader, ça va me faire une cascade de 50 EventHandlers qui vont se succéder, au lieu de tous bosser en même temps (en supposant que mes données peuvent être chargées séparément).

    Pouvez-vous m'indiquer une meilleure façon de faire svp ?
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par abbepierre94 Voir le message
    Pouvez-vous m'indiquer une meilleure façon de faire svp ?
    Merci d'avance
    Pas de meilleure façon de faire à ma connaissance...

  3. #3
    Membre confirmé Avatar de wil4linux
    Inscrit en
    Février 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 205
    Par défaut
    J en sais pas si ça répondra à ta question, mais si tu dois faire appel à plusieurs domaincontext ou plusieurs LoadOperation, fais les tous pointer vers le même évènement Completed et tu tests ton context pour voir s'il est chargé.

    Exemple avec un domaincontext:

    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
     
    public class TOTO
    {
    private MyContext context;
     
    public TOTO() 
    {
        context = new MyContext();
        MyContext.Load<MyTable>(MyContext.GetMyTableQuery()).Completed 
            += new EventHandler(load_Completed);
        MyContext.Load<MyTable2>(MyContext.GetMyTable2Query()).Completed 
            += new EventHandler(load_Completed);
        MyContext.Load<MyTable3>(MyContext.GetMyTable3Query()).Completed 
            += new EventHandler(load_Completed);
    }
    private void load_Completed( object sender, EventArgs e )
    {
        if (context.IsLoading)
            return;
        //Traitement après le chargement de l'ensembles des tables
        //...
    }
    Sinon tu peux regarder du côté de Rx (Reactive Extension)
    Exemple avec les RIA http://projectsilverlight.blogspot.c...-reactive.html

    sinon http://msdn.microsoft.com/en-us/devlabs/ee794896

  4. #4
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Par défaut
    wil4linux, la 1ère solution que tu proposes ne répond pas à mon besoin parce que l'exécution passera dans la méthode load_Completed() à chaque fois qu'un contexte sera chargé, et non quand tous les contextes sont chargés.
    A mon avis, il n'y a pas de solution native comme dit Thomas.

    Mais Rx a l'air prévu pour, je ne connaissais pas du tout.
    Merci bien

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

Discussions similaires

  1. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  2. [PROFILER][THREAD][java.prof] outil gratuit/complet?
    Par narmataru dans le forum Général Java
    Réponses: 11
    Dernier message: 16/11/2005, 12h28
  3. Delete on cascade avec SQL server
    Par fadoua dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/01/2004, 11h02
  4. suppresion en cascade + postgres
    Par bruno270579 dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/12/2003, 16h27
  5. Obtenir le chemin complet d'un fichier
    Par pamplemousse_mk2 dans le forum Linux
    Réponses: 3
    Dernier message: 13/08/2003, 23h07

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