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 :

problème de création de projet silverlight sous VS2008


Sujet :

Silverlight

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut problème de création de projet silverlight sous VS2008
    Bonjour,

    Je fait actuellement une refonte d'application (en couches) asp en silverlight.
    j'ai 2 couches de présentation: IHM et Controleur, avec la couche IHM qui a en référence la couche controleur.
    Ce que je souhaite faire, c'est tout simplement de remplacer ma couche IHM (de type application Web ASP.Net) par une application de type "application Silverlight".
    Dans ma solution je fait alors "créer nouveau projet" de type "application silverlight" (nommée Ihm.Silverlight).
    Là déjà j'ai 3 choix possibles:
    * "Ajouter un nouveau projet Web ASP.NET à la solution pour héberger Silverlight"
    * "Générer automatiquement une page de test pour héberger Silverlight au moment de la génération"
    * "Lier ce contrôle Silverlight à un site Web existant"

    Mon problème est:
    * que je ne sais pas quel solution choisir bien que la première me semble plus adaptée car le but n'est pas de compléter ma couche Ihm mais bien à terme de la remplacer.
    * que je n'arrive pas, et ce pour n'importe quel type de projet, ajouter une référence à ma couche Controleur. J'ai ce message "vous pouvez uniquement ajouter des références de projets à d'autres projets silverlight dans la solution". ?? là je ne sais pas pourquoi..

    merci par avance pour vos réponses.

  2. #2
    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
    Citation Envoyé par johnaliashead Voir le message
    * que je ne sais pas quel solution choisir bien que la première me semble plus adaptée car le but n'est pas de compléter ma couche Ihm mais bien à terme de la remplacer.
    Pour le moment tu peux prendre la première solution. C'est juste à des fins de tests on va dire. Tu pourras toujours par la suite lier ton appli Silverlight à ton site web existant (une simple balise à rajouter dans ton fichier aspx).

    Citation Envoyé par johnaliashead Voir le message
    * que je n'arrive pas, et ce pour n'importe quel type de projet, ajouter une référence à ma couche Controleur. J'ai ce message "vous pouvez uniquement ajouter des références de projets à d'autres projets silverlight dans la solution". ?? là je ne sais pas pourquoi..
    Ton application Silverlight ne peux discuter qu'avec des assemblies Silverlight, il faut donc réécrire ton controlleur en Silverlight. Pour tout ce qui est accès aux données il faudra passer par un service (wcf, asmx...).

    Tu peux également passer à un nouveau pattern plus adapté à Silverlight/WPF à savoir MVVM.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    merci pour cette réponse rapide.

    j'ai testé de créer une application et voir un peu le fonctionnement.
    J'ai bien remarqué la distinction entre le projet Ihm.web (qui contient les pages config, défaut.aspx ...) et Ihm (xaml..).

    j'ai vu que la partie Ihm est appelé dans le code aspx du projet Ihm.web (avec une balise <asp:silverlight ...>) qui appelle en fait le xaml (que j'édite avec expression blend).

    mais j'ai remarqué que je pouvait bien ajouter la référence a mon controleur dans le projet Ihm.Web.

    donc en fait pas besoin de changer mon architecture ou de créer des WCF ou autre, si ? je préfère éviter au maximum tout changement des autres couches, et j'ai peur de devoir tout changer ... la solution que je viens de proposer fonctionnne t elle?

  4. #4
    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
    Tu peux référencer ton controlleur dans le projet Web mais Silverlight ne sera pas capable de discuter avec.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    ok donc ma méthode n'est pas la bonne solution en fait

    donc tes préconisations sont de passer l'intégralité du projet en silverlight?
    par contre pour l'accès à la bdd je ne peut rien modifier car elle est utilisée par d'autres services. pareil on a un panel de composant et un framework qui ne doivent pas être modifié..
    ça ira quand même ou c'est une mauvaise idée de passer l'appli en silverlight?

    merci pour tes réponses et rapide en plus

  6. #6
    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
    Citation Envoyé par johnaliashead Voir le message
    ok donc ma méthode n'est pas la bonne solution en fait

    donc tes préconisations sont de passer l'intégralité du projet en silverlight?
    par contre pour l'accès à la bdd je ne peut rien modifier car elle est utilisée par d'autres services. pareil on a un panel de composant et un framework qui ne doivent pas être modifié..
    ça ira quand même ou c'est une mauvaise idée de passer l'appli en silverlight?

    merci pour tes réponses et rapide en plus
    L'accès à la BDD se trouve dans une autre assembly ? Ou aussi dans le controlleur ?

    Si c'est dans une autre assembly tu as juste à créer un service WCF qui appelera les méthodes de ton DAL. Silverlight appelera, lui, le service WCF.
    Tu peux également réfléchir à un autre type d'accès aux données (RIA Services ou Data Services par exemple). A toi de voir vers quoi tu veux t'engager.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    bonjour

    alors mon projet est divisé en plusieurs couches:
    ihm / controleur / métier / dal

    là j'en suis à:
    * avoir créé un projet application web silverlight, diviséé en 2 projet (Ihm et Ihm.web) jusque là facile
    * j'ai ajouté une référence à Ihm (projet silverlight) dans mon projet Ihm.web
    * dans Ihm.web, j'essaye de modifier le texte d'un textBox dans Default.aspx.cs et là ça coince ... bien sûr ce texte je peut le modifier dans mon fichier xaml.cs du projet Ihm, mais le but pour moi et de dissocier l'aspect design du code.. j'ai remarqué qu'à la compilation il y a un client bin qui se crée dans mon projet Ihm.Web (fichier xap).

    donc mes deux question sont:
    * à quoi sert ce fichier xap ?
    * comment modifier mes composant graphique directement dans mon default.aspx.cs (du projet Imh.Web), et non dans mon Page.xaml.cs (du projet Ihm) ? J'ai bien ajouté le using correspondant. Je sais également qu'il faut des accésseurs car les composants sont private mais je bloque.

    si tu as un exemple de code pour la mise en place de cette architecture ou des bons tutos ou autre merci également de me les signaler..

    en tout cas merci pour ton aide

  8. #8
    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
    Citation Envoyé par johnaliashead Voir le message
    donc mes deux question sont:
    * à quoi sert ce fichier xap ?
    Le fichier xap contient les assemblys/ressources... utilisés par ton application Silverlight. Il est téléchargé par le client lorsqu'il visite ta page et le runtime Silverlight se charge de l'afficher.


    * comment modifier mes composant graphique directement dans mon default.aspx.cs (du projet Imh.Web), et non dans mon Page.xaml.cs (du projet Ihm) ? J'ai bien ajouté le using correspondant. Je sais également qu'il faut des accésseurs car les composants sont private mais je bloque.
    Pourquoi voudrais-tu modifier ton application Silverlight dans la code de ta page web ?! Pour modifier tes éléments tu as le choix entre Page.xaml ou Page.xaml.cs

    Il ne faut pas voir Silverlight comme une alternative à Webforms, c'est totalement différent, tout comme son utilisation.

    http://broux.developpez.com/articles...silverlight-2/

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    oui je sais que je peut modifier directement le fichier page.xaml ou page.xaml.cs, mais l'ajout du controleur en référence est impossible. Voici un petit schéma simple:



    tu vois où je veux en venir.. sachant que ma couche ihm.web peut accéder au controleur mais pas ma couche "ihm", je voudrai en fait déveloper mes actions dans ma couche "ihm.web" et que ça ai des répercutions sur ma couche "ihm", un genre de "pont" entre ma couche controleur et ma couche ihm en fait..

    je pense que ça ne marchera pas mais sachant que je ne doit pas toucher aux bibliothèques c# (controleur, métier ...) cela devien une grosse contrainte que j'essaye tant bien que mal de contourner..

    tu aurai des idées pour palier à cela?

    ps: après je ne t'embète plus avec ce sujet ^^

    merci pour tes réponses..

  10. #10
    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
    Non tu ne peux pas faire ce que tu veux.

    Ton controlleur ne pourra jamais modifié ton IHM Silverlight.

    Il faut voir Silverlight comme un truc à part sur ta page qui vit sa vie indépendamment de ton site web.

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    ok merci pour toutes ces infos en tout cas.

    Je vais approfondir le pattern mvvm pour résoudre mon problème.
    Silverlight 4 propose également une compatibilité avec les assembly .net .. à voir

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Points : 135
    Points
    135
    Par défaut
    J'ai rencontré le même problème que toi,obligé de partir de l'existant, dans le sens ou je pouvais pas toucher à la DAL qui a sa propre gestion des droits et qui expose déjà toutes les méthodes nécessaires, personnellement j'ai réécris une couche d'accès à la DAL avec un service WCF, le service fait office de pont on va dire.

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Points : 83
    Points
    83
    Par défaut
    oui enfin là mon pb est que je ne doit absolument pas toucher aux couches à partir du controleur .. donc pas de wcf ou autre ..

    bon je met "résolu" bien que je ne sais toujours pas réellement la marche à suivre .. mais en tout cas merci pour tous ces conseils

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

Discussions similaires

  1. Problème de création de projet sous NetBeans
    Par Yavaitdelalumière... dans le forum NetBeans
    Réponses: 12
    Dernier message: 30/10/2013, 11h01
  2. Problème de compilation de projets Ogre sous CodeBlocks - Vista
    Par Verbalinsurection dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 08/10/2007, 22h17
  3. [IIS] problème de création un projet Web
    Par kouta20 dans le forum IIS
    Réponses: 20
    Dernier message: 02/05/2007, 17h10
  4. Réponses: 4
    Dernier message: 08/09/2005, 11h41
  5. [eclipse 3.0.1] Création de projet avec sous-projet
    Par whilecoyote dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 11/07/2005, 10h31

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