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 :

Surcharger un DAL non compatible SL


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut Surcharger un DAL non compatible SL
    Bonjour,

    Je possède un DAL (développer en C++) qui n'est pas compatible avec SL (impossible de le référencer dans mon projet).
    Il est tout à classique mais basique car il n'implémente pas de notifications de modifications par exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CustomerObject c = new CustomerObject();
    c.Load(1);
     
    c.Name = "Dupont";
    c.CountryId = 1;
    c.Update();
    ...
    Je voudrais garder ce DAL pour ne pas tout refaire et pour des raisons de sécurité aussi.
    Mais je voudrais en faire des EntityCollection, ObservableCollection, ... pour pouvoir implémenter la notification via PropertyChangedEventHandler pour les ObservableCollection par exemple.
    Et surtout en bénéficiant de nouveaux types de collections je pourrais ainsi faire du binding TwoWay.

    Mais je ne sais par ou commencer...

    J'ai bien penser a utiliser un template T4 pour redéfinir toutes les propriétés du DAL et "automatiser" ainsi l'écriture de nouvelles classes qui surchargeraient celles déjà existantes.

    Ceci étant je suis preneur de vos retours d’expériences et idées.

    Par avance merci.

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Bonjour,

    ta question est un peu floue en fait.

    Tu veux utiliser ta dll c++ coté Silverlight ou coté serveur ?
    Ta Dll c++ est-elle en code managé ?
    Quand tu fais ceci :

    d'ou est chargée l'information ? d'une base de donnée ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    Tu veux utiliser ta dll c++ coté Silverlight ou coté serveur ?
    Côté serveur, cela devrait suffire.
    En tout cas ça suffit pour pouvoir y accéder depuis Silverlight.

    Citation Envoyé par Samoteph Voir le message
    Ta Dll c++ est-elle en code managé ?
    J'imagine que oui, puisque lorsque j'ajoute ma DLL en tant que référence j'ai un fichier Interop.MaDll.dll qui vient s'ajouter au projet (côté serveur).

    Citation Envoyé par Samoteph Voir le message
    Quand tu fais ceci :
    d'ou est chargée l'information ? d'une base de donnée ?
    oui, car dans la DLL est gérée la connexion à la base de données.


    J'espère que c'est enfin plus clair.

  4. #4
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    ce qu'il te faut au final c'est un WebService qui encapsule ta dll ?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut
    J'y est pensé.

    Mais si je dois me retaper la déclaration de toutes les propriétés et méthodes dans les WebServices et ensuite côté serveur écrire les classes qui vont me permetrre de faire du binding.

    Es-ce que je ne réécris pas autant de lignes de code que ma DLL ?

    Ok, d'accord je n'ai pas le code métier, ni à gérer la connexion à la base de données.

    Mais rien que pour le binding il y a pas mal de code à se taper...

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    L'objectif est de faire un WebService qui va te servir de wrapper sur ta DLL donc tu vas écrire moins de lignes de code.

    D'un autre côté, c'est le seul moyen possible à ma connaissance, je vois pas d'autres possibilités

  7. #7
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Se retaper les déclarations des méthodes c'est quand même un travail très superficiel par rapport à se taper l'intérieur des méthodes

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Par défaut
    J'ai eu le même problème que toi, pas d'autre choix que de créer un service WCF qui fait le lien entre la DAL et silverlight, et peu importe la solution, elle va impliquer que tu réécrives pas mal de choses, essaye juste de le faire le plus proprement possible (ne pas oublier INotifyPropertyChanged sur tes nouvelles classes etc....) histoire que tu te tapes pas le boulot plusieurs fois

    Ah non j'oubliais concernant les classes, j'ai converti la DLL de la DAL en supprimant tout ce qui concerne les accés DB pour la mettre côté silverlight du coup pour celle ou le INotifyPropertyChanged est pas nécessaire par exemple pas besoin de la réécrire

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut
    Citation Envoyé par DaMo` Voir le message
    J'ai eu le même problème que toi, pas d'autre choix que de créer un service WCF qui fait le lien entre la DAL et silverlight, et peu importe la solution, elle va impliquer que tu réécrives pas mal de choses, essaye juste de le faire le plus proprement possible (ne pas oublier INotifyPropertyChanged sur tes nouvelles classes etc....) histoire que tu te tapes pas le boulot plusieurs fois

    Ah non j'oubliais concernant les classes, j'ai converti la DLL de la DAL en supprimant tout ce qui concerne les accés DB pour la mettre côté silverlight du coup pour celle ou le INotifyPropertyChanged est pas nécessaire par exemple pas besoin de la réécrire
    as-tu utiliser des tutos pour cela ?
    si oui ça m'interesse !

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Par défaut
    Y'a pas vraiment besoin de tuto parce que si tu as quoi que ce soit qui soit pas dans le CLR silverlight tu vas devoir le supprimer (Arraylist, Datareader.....)

    Donc faudra d'abord nettoyer, tant qu'à faire tu crées une nouvelle solution (Silverlight class library) avec le même namespace que ta dll et tu fais le ménage.

    Par contre si dans ta dll .net il y'a rien qui ne soit pas utilisable dans silverlight tu peux regarder ici :

    Convertir manuellement

    Converter auto

Discussions similaires

  1. Mdac 2.8 RTM non compatible !
    Par mosquitout dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 25/01/2006, 17h51
  2. Case, String, Ordinale, non compatible ?
    Par mickael.be dans le forum Langage
    Réponses: 4
    Dernier message: 03/01/2006, 19h57
  3. Réponses: 8
    Dernier message: 28/10/2005, 12h34
  4. [CSS] Pb de css non compatible sous Firefox
    Par laurentdusseau dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/09/2005, 17h41
  5. [W3C] Balise <MARQUEE> non compatible W3C
    Par grospaulo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 08/09/2005, 10h39

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