2010-07-09 24 views
0

J'ai une application vb.net qui fonctionne comme un service. J'ai aussi une autre application Windows qui sert d'interface de service. En bref, le service surveille certains dossiers pour de nouveaux fichiers et les importe dans diverses bases de données. Dans le service, j'ai une classe appelée 'importFile' contenant les propriétés de base telles que 'FileName' et 'ImportStatus'. Avec chaque nouveau fichier entrant, je crée une nouvelle instance de 'importFile' et l'ajoute à un objet de liste appelé myFiles qui est du type: List (de importFile).Obtenir des informations sur un objet dans un processus en cours

Actuellement dans mon service, j'écris quelques détails d'un objet (tel que ImportStatus) dans un fichier de configuration XML qui est lu à son tour par l'application d'interface de service.

Je veux exposer plus d'informations du service à l'interface, et la communication via XML ne semble pas être la méthode la plus efficace.

Ma question est comment puis-je exposer des objets en direct, tels que 'myFiles' dans mon service à mon application d'interface? Je pense que cela peut être fait via la classe Process mais tous mes efforts ont échoué jusqu'ici.

Je pense que la solution peut ressembler à ce qui suit, mais je ne suis pas trop sûr de ce que im faire et pourrait être loin:

Dim myProcess() As Process = Process.GetProcessesByName("ImportApp", ".") 
Dim fileList As List (of importFile) = myProcess(0).GetObjectRef(???????????) 

Toute aide serait grandement apprécié, merci.

Répondre

1

Si votre service est écrit en .NET, vous pouvez utiliser remoting pour exposer les objets de votre service comme indiqué en détail here.