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

Services Web Discussion :

[C#] WebService, namespace et dll


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Par défaut [C#] WebService, namespace et dll
    Bien le bonjour

    J'ai un petit soucis au niveau de la consommation de mon web service :

    j'ai créé d'abord un projet contenant les .cs définissant les classes dont j'ai besoin, dont une nommée User, dans la dll nommée "LibraryAlertAgent", namespace du même nom.

    Dans la même solution j'ai ajouté un projet Windows Forms qui utilise les classes définies dans la dll.

    J'ai ensuite créé une nouvelle solution pour mon projet web service. Les fonctions de mon web service devant aussi utiliser les classes de ma dll, j'ai ajouté une référence vers la même dll que dans l'autre projet (logique).
    Une de ces fonctions retourne un List<User>

    Problème : lorsque je tente d'appeler cette fonction dans mon projet Windows forms, j'ai systématiquement une erreur de cette forme :

    Impossible de convertir implicitement le type :
    Erreur 1 Impossible de convertir implicitement le type 'System.Collections.Generic.List<FormAlertAgent.ServiceReference1.User>' en 'System.Collections.Generic.List<LibraryAlertAgent.User>'
    Mes références pointent pourtant toutes vers la même dll, il les voit comme deux classes différentes

    Note : j'utilise Visual Studio 2010 Ultimate

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    J'ai était confronté au même problème.

    En fait Visual studio te génère automatiquement ces classes.

    La solution pour moi a était de créer un projet WCF

    Voici le détail de mon post :

    http://www.developpez.net/forums/d12...tilise-mienne/

  3. #3
    Membre confirmé
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Par défaut
    Le problème c'est que je n'ai eu aucun cours sur WCF, j'ai beau me documenté je ne comprend pas comment implémenter ma dll dans un projet WCF

    J'ai essayé d'ajouter l'attribut [DataContract] à mes classes dans ma bibli déjà prête mais il n'apparait pas, même en faisant un using System.Runtime.Serialization;

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Pour avoir accès a ta dll il suffit de l'ajouter en référence et d'utilisé le using.

    Si cela ne marche pas essaie dans ton code directement :

    Une fois cela éffectué il faut que tu déclare ta fonction ( son nom et ses paramètre dans la page Interface).

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [ServiceContract] 
    public interface IMediathequeService { 
    [OperationContract] 
    List<film> GetFilmsList(); 
    [OperationContract] bool AddFilm(string Titre, string Url,int DVDId);
    Ensuite dans la classe qui implémente ton interface il suffit de coder les différente fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class MediathequeServiceImpl : IMediathequeService
    Pour ce qui est du DataContrat les propriétés doivent être en lecture et écriture ( Get et Set ). Il faut lire les données au moment de la sérialisation et lui assigné une valeur au moment de la désérialisation.

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

Discussions similaires

  1. Namespace de dll invisible en utilisant LinqToEntitiesDomainService
    Par sovitec dans le forum Entity Framework
    Réponses: 1
    Dernier message: 02/03/2011, 10h24
  2. Tomcat - WebService CGI - OCI.DLL
    Par aigleborgne dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 14/01/2010, 09h10
  3. info sur namespace et dll
    Par shonem dans le forum Framework .NET
    Réponses: 0
    Dernier message: 28/04/2009, 13h43
  4. Appler un webservice dans une dll via une page asp
    Par yannick_sch dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/05/2007, 14h40
  5. [NameSpace] Comment decouper en plusieurs dll ?
    Par lololefada dans le forum Framework .NET
    Réponses: 3
    Dernier message: 18/01/2006, 17h59

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