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 :

Erreur appelle de methode [Silverlight + Sharepoint 2010]


Sujet :

Silverlight

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut Erreur appelle de methode [Silverlight + Sharepoint 2010]
    J'ai une application qui se nomme ApplicationTest. Elle utilise une base de donnée metagérés que j'ai lié.

    J'ai creer 2 methode pour remplir 1 combobox puis 1 listbox. Tout fonctionne parfaitement quand je fait F5 (ouverture de la page ASPX de test).

    J'ai ajouter mon .xap grace a la methode trouver sur le net.

    Je n'est pas utiliser de Client (je ne comprend pas a quoi il sert en faite). J'ai donc ma page qui fonctionne, mais pas mes requetes, internet explorer en bas /!\ me met l'erreur :
    Détails de l’erreur de la page Web

    Message : Unhandled Error in Silverlight Application Une exception s'est produite lors de l'opération, ce qui rend le résultat non valide. Consultez InnerException pour plus de détails sur l'exception. à System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
    à ApplicationTest.DomaineService.getDomaineCompletedEventArgs.get_Result()
    à ApplicationTest.MainPage.client_getDomaineCompleted(Object sender, getDomaineCompletedEventArgs e)
    à ApplicationTest.DomaineService.DomaineServiceClient.OngetDomaineCompleted(Object state)
    Ligne : 1
    Caractère : 1
    Code : 0
    URI : http://sharepoint/testsl/default.aspx

    MainPage :
    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
     
     void init()
            {
                cboCivilite.Items.Add("Mademoiselle"); cboCivilite.Items.Add("Madame"); cboCivilite.Items.Add("Monsieur");
                txtDateEntretien.Text = System.DateTime.Today.ToShortDateString();
                //initialisation du service
                DomaineService.DomaineServiceClient client = new DomaineService.DomaineServiceClient();
                //creation de l'ecouteur
                client.getDomaineCompleted += new EventHandler<DomaineService.getDomaineCompletedEventArgs>(client_getDomaineCompleted);
                //remplie de maniere asynchrone (obligatoire en SL)
                client.getDomaineAsync();
            }
            //ecouteur domaine
            void client_getDomaineCompleted(object sender, ApplicationTest.DomaineService.getDomaineCompletedEventArgs e)
            {
                cboDomaine.ItemsSource = e.Result;
            }
    code de la fonction getDomaine :
    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
     
    public List<string> getDomaine()
            {
                int i;
                List<int> ParentId = new List<int>();
                List<string> AllLabels = new List<string>();
                ECMTermDataContext dc = new ECMTermDataContext();
                var AllParents = (from parents in dc.ECMTermSetMembership orderby parents.ParentTermId where parents.ParentTermId != 0 where parents.ParentTermId != 13 select parents.ParentTermId).Distinct();
                ParentId = AllParents.Where(y => y.HasValue).Select(y => y.Value).ToList();
                for (i = 1; i < AllParents.Count(); i++)
                {
                    string labelo = (from label in dc.ECMTermLabel where label.TermId == ParentId[i] select label.Label).Single();
                    AllLabels.Add(labelo);
                }
                return AllLabels;
            }
    Pourquoi cela ne fonctionne t'il pas ? C'est parceque le .xap ne contient pas le ApplicationTest.Web ? Comment je peux m'en sortir ?

    merci d'avance, si besoin de plus d'infos hesitez pas ^^

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    C'est quoi le DomaineService?
    Silverlight n'a pas d'acces direct à une base de donnée. Il doit s'agir d'un service WCF ou RIA Service.
    En tant que tel ils ne sont pas avec le xap. L'application silverlight a surrement l'addresse du EndPoint de base du service WCF. Peut etre qu'en deplacant le service web dans un répertoire sharepoint ( je connais pas cet environnement) et en modifiant l'addresse du enpoint ca fonctionnera.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    oulah je ne comprend pas le EndPoint.


    Oui DomaineService est un Service de Reference, dedans il y a mes 2 tables lié, c'est un service WCF.

    Du coup je ne peux pas acceder a mes tables depuis Sharepoint ? (sachant que mes tables inclus dans le DomaineService sont des tables de donné metagéré qui vienne de SharePoint ^^)

    C'est un DomaineService.SVC qui contient mon getDomaine (donné plus haut).

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Dans le fichier Xap de ton application se trouve un ServiceReferences.ClientConfig avec des infos sur ton service WCF dont l'adresse qu'il te faut modifier .
    http://msdn.microsoft.com/fr-fr/libr...(v=vs.95).aspx
    Je ne connais pas sharepoint donc je peux pas vraiment dire où mettre le service .
    Mais dans le lien sur l'integration du silverlight dans sharepoint, le "Client" utilisé ne contient-il pas justement les infos de ces tables? Il n'est peut pas nécessaire de passer par un autre service ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <client>
                <endpoint address="http://localhost:62618/DomaineService.svc"
                    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDomaineService"
                    contract="DomaineService.IDomaineService" name="BasicHttpBinding_IDomaineService" />
            </client>
    donc voila, peux etre que le probleme viens de la, j'vais essayer de placer le DomaineService.svc directement dans mon site "testsl", j'essaye dés que je peux (j'arrive pas a acceder a mon testsl "physiquement") donc dés que je peux, j'essaye et j'vous tiens au courant.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    Re,

    Sachant que mon localhost est ouvert et accessible, je ne pense pas que le probleme viens du endpoint donc ....

    Peux on acceder a un service WCF depuis une application Silverlight sur Sharepoint ?

  7. #7
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Il est tres difficile de deployer un service WCF sur un site SharePoint.

    Est-ce qu'il est bien deploye ?
    Est-ce que tu peux y acceder en tapant son URL ?

    Si tu laisses ton WCF sur ton localhost ca risque de ne pas fonctionner.

    Deploies d'abord ton service sur ton serveur SharePoint (tu peux trouver des tutos sur le net) ensuite tu pourras revenir nous donner tes erreurs.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    d'accord, merci de l'information, je vais essayer de deployer ce service WCF.

    Concretement il est composer de quoi ?
    DomaineService.svc et c'est tout ? Car ce .svc il utilise des .cs non ? Car mes methodes sont ecritent dans un IDomaineService.cs, et j'utilise un.DMBL il faut le deployer aussi ?

    Bref si vous avez le temps de me repondre faites le ^^ sinon j'vais allez essayer de deployer ce service WCF

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Je ne sais pas ce qu'est un .dmbl par contre le svc il faut lui garder la réference qu'il utilise (en ouvrant le svc on découvre laquelle c'est, en toute logique la dll des classes)

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    Le .dbml est l'extension du Classe LinqToSQL.

    En faite je suis toujours sur la meme application.

    Je doit faire afficher dans une combobox des données stocké sur un SQLServer.
    Puis lors du click sur une de ces données, cela remplie une listbox.

    En local avec un Classe LinqToSql suivie du code que j'ai donné plus haut, j'arrivais a remplir ma combo et ma list facilement (aprés quelque galere de language).

    Maintenant je voudrais pouvoir faire pareil sur Sharepoint 2010 (qui est lui aussi un produit microsoft ! pourquoi c'est si compliquer).

    J'ai bien compris que j'peux pas directement inclure ma solution (dommage). Mais j'ai inclus mon .xap (ou il n'y a pas grand chose dedans). J'ai donc mon interface sur Sharepoint, mais je n'est pas l'accés au donnée (cela serais trop facile héhé).

    Je cherche donc a faire de l'accés au donné via Sharepoint et une application Silverlight.

    Dans mes requetes j'utilise un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ECMTermDataContext dc = new ECMTermDataContext
    ce ECMTerm est le noms de mon DBML, ce DMBL "contient" les tables dont j'ai besoin. J'ai ensuite juste besoin de fait dc.Table1 (par exemple) pour acceder a la Table1

    Mais si je ne copie que le .svc je ne pourrais pas fait ce ECMTermDataContext, donc aucune requete ne fonctionnera ^^

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    La c'est plus un probleme de silverlight mais plutôt un problème de service wcf sur du sharepoint et d'apres Skyounet c'est pas gagné! Après je ne sais pas ce qu'est Sharepoint mais n'est-il pas possible d'avoir un service IIS classique a coté qui hebergerai un site ou il n'y aurai que le service WCF?
    Par contre au niveau déploiement et maintenance c'est surement plus embettant d'avoir 2 types de serveur.
    Désolé je peux pas vraiment aider finalement.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    Ce serais possible, mais je pense pas que l'entreprise soit interesser par ce genre de solutions, il voudrais a terme pouvoir tout regrouper dans Sharepoint 2010.

    Je vais donc attendre la reponse de Sky, mais je suis d'accord avec toi je pense pas que c'est simple.

    C'est quand meme dingue, c'est pas quelquechose de compliquer logiquement, je veux juste mettre sur un produit microsoft une solution que j'ai developper avec un autre logiciel microsoft, c'est dingue comment ils sont chiant au niveau de la portabilité d'un logiciel a l'autre grahou !

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    http://fyeomans.com/2009/12/30/simpl...model-example/

    a l'aide de ce site j'ai reussi a remplir une listbox, donc sa fonctionne, mon application xap fonctionne c'est sur.

    le probleme viens donc bien de ce WCF ainsi que le DBML.

    Si quelqu'un passe, mon soucis je pense l'avoir clairement trouver apres maintes essais.

    je voudrais faire de l'accés au donnée via une Application silverlight disposé sur un Sharepoint 2010.

    Ma base est sur ce meme serveur (base de donnée metagere de Sharepoint), si il faut faire du LinQ j'y arrive en local, mais je ne voit pas comment faire via Sharepoint.

  14. #14
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Hum ca par contre j'ai jamais fait, deployer du RIA Services sur du SharePoint.

    Regarde peut-etre ici
    http://forums.silverlight.net/forums...57/365622.aspx

    Ensuite tu peux si tu veux heberger ton RIA Services sur une autre web app que ton SharePoint. La ca va etre simple, ca va etre du deploiement de RIA Services classique.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    le post est sur 2007, je pense que 2010 a du regler pas mal de soucis et c'est pour sa que j'aurais aimer reussir ...

    Aprés j'ai du mal a comprendre le concepte de RIA Service, il designe quoi concretement ce RIA ?

    Je n'est que Sharepoint a disposition, il est placer sur un SQL Serveur 2008r2. Il faudrais quoi pour l'heberger ailleur ? (si je l'heberge ailleur, je pourrais toujours me servir de mon application silverlight dans Sharepoint ??)

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 41
    Points : 19
    Points
    19
    Par défaut
    J'ai a l'aide de sharepoint creer une application que j'ai vider a la mains et j'y est publier ma solution .web.

    J'ai reussi a faire ceci :
    http://blogs.msdn.com/b/davrous/arch...e-de-code.aspx

    Maintenant je voudrais savoir, ou dois-je mettre mes requetes pour qu'elle s'execute et ou dois-je les appeller, car je doit vous avouer que je suis perdu.

    J'arrive a faire apparaitre sous forme de liste etc TOUT les champs d'une table, ou de restreindre et y mettre qu'UN champs. Mais je voudrais pouvoir faire des restriction sur les valeurs (genre tout ceux superieur a X etc).

    Je peux ? ou cette solution ne fonctionne qu'en utilisant l'outils et aucun requete est possible?

    Si les requetes sont possible c'est sous quel forme ? SQL ou Linq ?
    Car j'ai trouver sa : http://dotnet.developpez.com/articles/ado1/csharp/
    mais je sais pas si sa correspond a mon cas.

    Merci.

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

Discussions similaires

  1. Silverlight SQL Server sous SharePoint 2010
    Par Logann23 dans le forum Silverlight
    Réponses: 1
    Dernier message: 16/03/2012, 11h19
  2. [SP-2010] Erreur de Recherche Sharepoint 2010
    Par PABE51 dans le forum SharePoint
    Réponses: 1
    Dernier message: 29/12/2010, 00h48
  3. [SP-2010] Démarrer avec sharepoint 2010, les workflow et les clients silverlight
    Par johnaliashead dans le forum SharePoint
    Réponses: 4
    Dernier message: 26/10/2010, 12h04
  4. Ferme sharepoint 2010 ERREUR
    Par daxter dans le forum Installation
    Réponses: 4
    Dernier message: 27/09/2010, 01h45
  5. Silverlight 4 RIA et Sharepoint 2010
    Par tgsf1 dans le forum Silverlight
    Réponses: 1
    Dernier message: 24/03/2010, 20h04

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