Tom's Guide > Forum > Programmation > [.NET/Managed C++/DCOM/Visual studio] Question pour experts

[.NET/Managed C++/DCOM/Visual studio] Question pour experts

Forum Programmation : [.NET/Managed C++/DCOM/Visual studio] Question pour experts

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,

J'ai réalisé un petit composant DCOM (service exe) en Managed C++, je n'ai pas eu de problème, car j'ai utilisé le wizard ATL, sachant que ce n'est pas un composant graphique, ni composant Web.
Ensuite, j'ai voulu faire le client en .Net et Managed C++. Sous visual studio 2003, je n'ai pas trouvé comment faire ça simplement comme on le faisait avant en MFC avec les macros AFX.
Est-ce qu'il existe un manière simple d'ajouter les liaisons avec l'interface du composant ? ou faut-il taper du code à la main ?
Si vous avez la réponse avec un client C# plutôt que le Managed C++, je suis aussi preneur ;)

J'ai remarqué que Microsoft a mis en place un nouveau type de composant distribué qui, apparemment, devrait remplacer le DCOM, c'est le .NET Remoting. Si quelqu'un a déjà utilisé ce dernier, l'as-t-il trouvé convaincant ?
En fait en C#, je comprend qu'on utilise le .NET Remoting, mais en Managed .NET, n'est-il pas préférable de rester dans le DCOM (vis-à-vis des performances) ?

CORBA/DCOM/.NET Remoting, c'est bien joli l'interopérabilité, mais est-ce qu'on n'est pas en train de la perdre là ? déjà qu'avec DCOM et CORBA ça en fait beaucoup :D

Merci :)


Message édité par CRicky le 09-03-2007 à 21:03:47
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

En fait pour ajouter une liaison, il suffit de l'importer comme un composant .NET (dans "Ajouter une référence" ).
Le système ajoute un wrapper RCW pour permettre la liaison client .NET serveur COM et inversement avec le wrapper CCW.
Donc, microsoft a prévu l'intéropérabilité entre COM/DCOM et .NET.
[ironique]Etonnamment, ils n'ont pas prévu la liaison vace les composants CORBA[/ironique]

En C#, pour intégrer un DCOM avec évènement de callback (le serveur envoit un évènement au client), c'est simple, l'ajout de la référence a créé une de délégation, il suffit de l'utiliser pour affecter la méthode à l'évènement.
En Managed C++, je suis encore en train de regarder car la classe de délégation.

Pour le .NET remoting, ça revient à faire un DCOM, et il suffit de faire hériter le composant de MarshalByRefObject pour le rendre distribué.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Oula ! J'avais déjà peur en voyant que c'était toi qui posait une question , mais alors la en .net => buiten voor mij !

Citation :


CORBA/DCOM/.NET Remoting, c'est bien joli l'interopérabilité, mais est-ce qu'on n'est pas en train de la perdre là ? déjà qu'avec DCOM et CORBA ça en fait beaucoup :D



Ne t'inquiète pas ! En java c'est tout aussi bordélique ^^

------------------------------
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne et personne ne sais pourquoi...
Répondre à RiiMii

Les composants sont censés indépendants des langages.
Mais bon, en pratique, en Java c'est généralement du CORBA alors qu'en C++ c'est CORBA ou DCOM (si sous windows), et en C# c'est .NET Remoting, même si on peut inverser.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

La mode actuelle en Java c'est le Wsdl , en théorie c'est utilisable par n'importe qu'elle autre langage.

------------------------------
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne et personne ne sais pourquoi...
Répondre à RiiMii

Oui, c'est la couche basse des web services (que le .NET remoting peut aussi utiliser), mais bon, ça c'est normé, et tout le monde va pour l'utiliser (puisque même .NET remoting a l'air de l'implémenter).
Le problème est le même, parce que si quelqu'un sort son format, ce sera aussi indépendant du langage, mais incompatible avec le wsdl. du coup, il faudrait (comme pour les composants) faire des wrapper et alourdir tout ça. :D

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Bah ... on peut se consoler en se disant qu'i y aura toujours quelque chose de nouveau pour nous faire passer le temps à chercher comment le faire fonctionner xD

Répondre à RiiMii
Tom's Guide > Forum > Programmation > [.NET/Managed C++/DCOM/Visual studio] Question pour experts
Aller à :

Il y a 2744 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens