2011-05-31 8 views
2

Existe-t-il un moyen de se connecter à une machine Windows en utilisant WCF et C#? Je crée un harnais de test et il sera nécessaire de se connecter à distance à un utilisateur Windows.Connexion à distance avec WCF et C#

Jusqu'à présent, nous n'avons pas réussi à le faire car une fois que l'utilisateur s'est déconnecté de la machine, le WCF auto-hébergé est arrêté.

+0

Il n'y a pas de réponse du service sur la machine? comment le service est-il hébergé? –

+0

@Sam auto-hébergé WCF – oleksii

+0

Vous exécutez le WCF auto-hébergé sous IIS? Essayez d'héberger votre service WCF dans un service Windows. Ensuite, il peut démarrer à chaque démarrage du serveur, même s'il n'y a pas d'utilisateurs interactifs. –

Répondre

0

En utilisant les informations d'identification fournies sur l'extrémité Web, vous pouvez essayer de vous connecter via WMI? mais, cela dépend de ce que vous avez l'intention de faire aux machines distantes - une autre option serait un client sur les machines distantes

+0

pouvez-vous expliquer un peu plus dans les détails: est-il l'ouverture de session WMI à distance? Que voulez-vous dire par un client sur les machines distantes et comment je peux communiquer avec lui lorsque le PC est déconnecté? – oleksii

+0

WMI est une méthode de connexion à des machines distantes et d'effectuer des actions - un google rapide a beaucoup d'exemples - cependant pour faire à peu près tout ce dont vous auriez besoin pour lui fournir des informations d'identification. – BugFinder

4

votre problème est que vous hébergez le service en tant qu'application console. Lorsque l'utilisateur se déconnecte, l'application s'arrête.

Hébergez votre service dans un service Windows, ce qui lui permettra de démarrer et d'exécuter sans qu'un utilisateur ne soit connecté.

MSDN on hosting in a windows service

comme une pointe, dans la méthode OnStart ajouter la ligne suivante:

Debugger.Launch(); 

et une déclaration en utilisant:

using System.Diagnostics; 

si vous avez des problèmes avec le démarrage du service et arrêt immédiat. Cela devrait vous permettre d'attacher un débogueur au service alors qu'il commence à déboguer le problème.