Question

J'ai écrit un service Windows en C # qui exécute certaines fonctionnalités (une méthode publique) après avoir lu un fichier à intervalles réguliers. Est-il possible pour moi d'utiliser cette fonctionnalité à partir d'une autre application C #? Si possible, donnez une solution basée sur .net 2.0 ainsi que sur .net 3.0

Merci

Était-ce utile?

La solution

L'option la plus propre consisterait à écrire cette fonctionnalité dans un assembly (dll) séparé que vous utiliserez à la fois du service et de la deuxième application .NET.

Vous pouvez référencer l'assembly de service (même s'il s'agit d'un exécutable, au moins dans VS2008), mais cela semble un peu excessif.

Si vous souhaitez exécuter la méthode dans le contexte du service en cours d'exécution , vous aurez besoin d'un IPC (éventuellement WCF ou sockets).

Autres conseils

Exposez-le simplement avec WCF et appelez-le depuis votre autre application. Ils sont dans des processus différents, vous devez donc utiliser IPC

Cela dépend de ce que vous voulez réutiliser.

Si vous souhaitez accéder au service de fenêtre en cours d'exécution, exposez-le ensuite via WCF. Si vous souhaitez simplement utiliser le code, placez-le dans un assemblage et faites référence à un autre projet / programme.

Je dirais que les versions .net 2.0 et 3.0 sont identiques à celles de cette dernière, mais puisque .net 2.0 fmk n’a pas de fonction WCF, je suggérerais un point de terminaison Windows Remoting pour les versions antérieures si vous utilisez uniquement .net 2.0. ou WCF comme je l'ai dit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top