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 :

Nombreuses questions d'architecture avec Silverlight


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 93
    Par défaut Nombreuses questions d'architecture avec Silverlight
    Bonjour,
    Toujours en cours d'autoformation sur Silverlight je me pose quelques questions.

    Cette fois-ci cela concerne l'architecture à employer lors de la mise en place d'un site en SilverLight.

    1/
    Admettons que je développe un site web contenant un composant Silverlight.
    Dois-je développer deux projets Visual Studio différents, l'un pour mon site web et l'autre pour mon composant Silverlight ?


    2/
    Concernant la gestion des erreurs, j'ai remarqué 4 cas différents :
    (a) Exception gérée dans le code source avec un try catch
    (b) Exception non gérée mais dans la fonction Application_UnhandledException on renvoi "e.Handled = true;"
    (c) Exception non gérée avec "e.Handled = false;"
    (d) Exception asynchrone : traitement javascript "onSilverlightError" dans TestPage.html

    Voici mes questions :
    (a) : pas de question
    (b) et (c) : que se passe-t-il exactement dans ces deux cas ? Visuellement j'ai pu remarqué que dans le cas (b) la page est tout de même affichée alors que dans le cas (c) la page reste blanche
    (b) et (c) : ces exceptions étant traitées dans App.xaml, puis-je gérer un affichage propre des erreurs.
    Exemple de gestion que je voudrais avoir : affichage de la page générant l'erreur en désactivant tous les contrôles (boutons & co) avec affichage par dessus d'un message décrivant l'erreur. Sachant que tout ce code est à écrire dans App.xaml.cs et non dans le fichier générant l'erreur (page.xaml.cs par exemple).
    (d) : La gestion de ces erreurs peut-elle être gérée dans le projet. En effet, la seule solution que j'ai trouvé pour le moment est de modifier le fichier TestPage.html (fonction javascript "onSilverlightError"). Mais le problème est que si je nettoie le projet il va me supprimer le répertoire Bin/Debug et donc ma modification.


    3/ Architecture du site
    Pour le moment je n'ai fait qu'un simple site avec la page app.xaml et page.xaml.
    Ce qui m'embête c'est que je n'arrive pas à comprendre comment le lien entre ces deux page se fait.
    Comment l'application sais que c'est "page.xaml" qui sert de "page de démarrage" à mon application.
    Je me dis notamment que si je développe une application fonctionnellement plus complexe il va me falloir découper ma page en plusieurs composants (plusieurs fichiers xaml). Est-ce possible ?
    Je m'explique, je voudrais définir un fichier xaml gérant le gabarit (une sorte de masterPage).
    Un autre fichier gérant la "page d'accueil".
    Un autre fichier pour chaque élément distinct vers lesquels le menu va me rediriger.
    Le problème est que tout ces fichiers doivent également communiquer entre eux... comment faire ?
    Peut-être que dans le contexte Silverlight je ne devrais pas me poser ce genre de question, auquel cas n'hésitez pas à me le dire.



    Voilà, je sais que ça fait vraiment beaucoup de questions sur un même post.
    Merci d'avance à tous ceux pouvant m'apporter des éléments de réponse.

    Chris

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    Concernant ta question du lien entre App.xaml et Page.xaml, tu peux spécifier quelle page sera lancée au demarrage en allant dans le code behind de App.xaml ( App.xaml.cs ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void Application_Startup(object sender, StartupEventArgs e)
            {
                this.RootVisual = new Page();
            }

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 93
    Par défaut
    Merci pour cet élément de réponse,
    Dans ma gestion d'erreur j'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.RootVisual = new ErrorPage();
    Dans le but de me rediriger vers une autre page affichant un message de déconnexion... mais sans succès.


    Citation Envoyé par talu3000 Voir le message
    Concernant ta question du lien entre App.xaml et Page.xaml, tu peux spécifier quelle page sera lancée au demarrage en allant dans le code behind de App.xaml ( App.xaml.cs ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void Application_Startup(object sender, StartupEventArgs e)
            {
                this.RootVisual = new Page();
            }

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Citation Envoyé par cfeltz Voir le message
    1/
    Admettons que je développe un site web contenant un composant Silverlight.
    Dois-je développer deux projets Visual Studio différents, l'un pour mon site web et l'autre pour mon composant Silverlight ?
    Oui. Mais quand tu crée un projet SL VS te crée automatiquement un projet Web.

    Citation Envoyé par cfeltz Voir le message
    Merci pour cet élément de réponse,
    Dans ma gestion d'erreur j'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.RootVisual = new ErrorPage();
    Dans le but de me rediriger vers une autre page affichant un message de déconnexion... mais sans succès.
    RootVisual ne peut être assigné qu'une seule fois. C'est l'élément de fond de l'appli. Par contre tu peux rajouter des choses par dessus.

    Le mot "Page" ne porte pas très bien sont non. Car en fait il s'agit ni plus n'y moins que d'un UserControl. Tu peux donc mettre une grille dans ton RootVisual et mettre d'autres "Pages" dans cette grille. Ce n'est pas une page à la fois.

    Si tu veux faire un système de navigation tu peux utiliser le système de navigation dont je parle ici: http://badger.developpez.com/tutorie...-code/#LII-D-1
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    SL 3 intègre un système de navigation vraiment bien fichu. Wait.

Discussions similaires

  1. Réponses: 9
    Dernier message: 08/06/2015, 16h48
  2. Architecture en couche avec Silverlight.Net ?
    Par Invité dans le forum Silverlight
    Réponses: 7
    Dernier message: 12/02/2009, 11h08
  3. Quelques questions pour débuter avec FOP
    Par lr dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/04/2006, 13h09
  4. Question sur ASP avec PWS
    Par Teo dans le forum ASP
    Réponses: 3
    Dernier message: 27/10/2005, 08h16

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