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 :

[SL4 + MVVM Light] Problème avec un Domain Service personnalisé


Sujet :

Silverlight

  1. #1
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut [SL4 + MVVM Light] Problème avec un Domain Service personnalisé
    Bonjour,

    Je rencontre un problème pour récupérer le résultat d'une opération effectuée par un Domain Service custom.

    L'application qui pose problème tourne avec Silverlight 4 et MVVM Light. J'ai une partie serveur qui contient mon Model ainsi que les DomainServices. Dans la partie client, j'ai mes ViewModels ainsi que mes Views.

    Lorsque je veux implémenter mon propre Domain Service (NavService), ça devient compliqué.

    Voici le code du NavService:

    Code C# : 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
     
    [EnableClientAccess()]
    public class NavService : DomainService
    {
        public NavigationNode TestMethod(string input)
        {
            NavigationNode result = new NavigationNode();
            result.Content = input;
            result.Title = input;
            return result;
        }
    }
     
    [EnableClientAccess()]
    public class NavigationNode
    {
        public string Title { get; set; }
        public string Content { get; set; }
    }

    Dans mon ViewModel, j'ai le code suivant :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public MyViewModel()
    {
        NavContext context = new NavContext();
     
        var result = context.TestMethod("input");
        result.Completed += new EventHandler(result_Completed);
    }
     
    void result_Completed(object sender, EventArgs e)
    {
        // Ici je voudrais récupérer l'objet NavigationNode contenu dans le paramètre sender...
    }

    Le problème, c'est que je n'arrive pas à récupérer mon objet NavigationNode. Lorsque je debug, je vois que le type du paramètre "sender" de la méthode "result_Completed()" est :

    System.ServiceModel.DomainServices.Client.InvokeOperation`1[TemplateMVVM.Server.Service.NavigationNode]

    Je ne vois pas comment caster le paramètre "sender", étant donné que c'est un type anonyme... Je n'ai accès qu'aux méthodes "Equals()", "GetHashCode()", "GetType()" et "ToString()"...

    Avez-vous une idée sur la façon de procéder ?

    Merci par avance !
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    J'ai trouvé une solution La voici :

    Code C# : 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
    public MyViewModel()
    {
        NavContext context = new NavContext(); 
        
        var result = context.TestMethod("input", delegate(InvokeOperation<NavigationNode> args)
        {
            if (args.HasError)
            {
                args.MarkErrorAsHandled();
            }
            else
            {
                NavigationNode = args.Value;
            }
        },
        null);
    }
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

Discussions similaires

  1. Application avec plusieurs "Domain Service"
    Par Alexs dans le forum Silverlight
    Réponses: 3
    Dernier message: 30/04/2010, 11h15
  2. problème avec les web service client
    Par Jack-Ob dans le forum NetBeans
    Réponses: 2
    Dernier message: 22/07/2009, 10h40
  3. Service Windows : problème avec état du service
    Par dlayla4 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/05/2008, 09h35
  4. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31
  5. Problème avec le Naming Service
    Par touma dans le forum CORBA
    Réponses: 1
    Dernier message: 06/12/2006, 13h49

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