Comment créer une console d'administration distante pour un service WCF à l'aide de Telnet / RAW?
Question
J'ai un service WCF en utilisant actuellement un point de terminaison TCP. Plutôt que de créer une application Console Console séparée pour administrer le serveur, je veux la possibilité de Telnet dans le serveur ou même de se connecter à l'aide d'une connexion brute à l'aide de Commandes ASCII ASCII sur le serveur.
Des idées comment je vais faire cela? Pas un expert de WCF, donc apprécierait toute aide. Merci
La solution
Je ne pense pas que WCF prenne en charge le traitement de commande personnalisé hors de la boîte et ce sera pas mal de saut de cerceau pour que cela fonctionne. je voudrais suggerer
- Hébergez le service WCF dans un service Windows plutôt que IIS
- Créez un auditeur de socket à l'intérieur du service Windows écoutant sur le port de votre choix
- Écrivez du code pour traiter votre commande lorsque les données arrivent la prise
Autres conseils
Je doute que vous puissiez le faire - WCF devra toujours utiliser ses points de terminaison définis - TCP, HTTP - peu importe. Je ne connais aucune liaison Telnet ou connexion brute, comme vous le mentionnez.
De mon point de vue, pourquoi ne pas créer un contrat de service à des fins d'administration et simplement frapper cela avec HTTP et / ou TCP à partir d'une application Console? Cela semble plus facile que d'essayer de "boulonner" quelque chose à qui n'a pas été vraiment pensé.
Marc
Pour administrer mes applications WCF, j'héberge dans IIS et j'ai un sous-dossier dans le répertoire virtuel d'application avec des pages Admin ASPX. Le dossier est protégé contre l'accès non autorisé à l'aide de rôles ASP.NET.
Le dossier d'administration comprend des pages indépendantes de l'application (par exemple, gérer la journalisation, afficher les fichiers journaux) et le cas échéant des pages spécifiques à l'application.
Étant donné que les pages ASP.NET s'exécutent dans le même appdomain que les services WCF hébergés, le ciel est la limite en ce qui concerne l'ajout de fonctionnalités pour l'instrumentation et la configuration dynamique.