none
WCF MessageContract et DLL partagée RRS feed

  • Question

  • Bonjour,

    voilà j'ai une DLL qui contient mes objets métiers.

    Cette DLL est partagé entre mon client (application WPF) et mon service (site Web).

    Si mes objets métier son des DataContract, tout fonctionne, lorsque j'ajoute mon service à mon client, il utilise bien les objets de ma DLL partagée.

    Par contre si ce sont des "MessageContract", là, il me recrée des objets lorsque j'ajoute mon service. Il ne réutilise pas les objets de ma DLL.

    Y a t'il une explication ? on ne peut pas réutiliser des objets en mode "MessageContract" ?

    Merci

    samedi 30 juin 2012 21:40

Toutes les réponses

  • Bonjour,

    C'est une limitation de l'utilitaire "svcutil". Pourquoi avez vous besoin de générer une référence de service alors que vous partagez les DLL contenant vos objets DTO ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 8 juillet 2012 21:18
    Modérateur
  • En fait j'utilise les références de service dans visual studio pour une histoire de confort, c'est visual studio qui me crée les méthodes pour appeler mes services. De plus seules mes objets métier sont partagés, les "MessageContract" eux sont propre à chaque service...

    Donc si je comprends bien, pour utiliser des "MessageContract" avec des objets partagés, je ne doit pas passer par les références de service de VS mais je dois appeler les services directement moi même ?

    Merci


    mardi 10 juillet 2012 07:51
  • Bonjour,

    Oui.

    De manière générale, je recommande lors du partage des assemblys entre le serveur et le client de mettre dans l'assembly partagé les données (DataContract/MessageContract) et les contrats de service (interface ServiceContract).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 15 juillet 2012 18:27
    Modérateur