Come creerei una console di amministrazione remota per un servizio WCF utilizzando Telnet/RAW?
Domanda
Ho un servizio WCF che attualmente utilizza un endpoint TCP. Invece di creare un'app client console separata per amministrare il server, desidero la possibilità di telnet nel server o addirittura connetterti utilizzando una connessione RAW utilizzando PUTTY ed eseguire i comandi ASCII direttamente sul server.
Qualche idea su come farei a farlo? Non un esperto di WCF, quindi apprezzerebbe qualsiasi aiuto. Grazie
Soluzione
Non credo che WCF supporti l'elaborazione dei comandi personalizzati fuori dalla scatola e sarà un po 'di salto a cerchio per farlo funzionare. suggerirei
- Ospita il servizio WCF all'interno di un servizio Windows anziché IIS
- Crea un ascoltatore di socket all'interno del servizio Windows ascoltando sulla porta di tua scelta
- Scrivi del codice per elaborare il comando quando i dati arrivano la presa
Altri suggerimenti
Dubito che potresti farlo - WCF dovrà sempre usare i suoi endpoint definiti - TCP, HTTP - qualunque cosa. Non sono a conoscenza di alcuna legame Telnet o connessione RAW, come lo dici.
Dal mio punto di vista, perché non creare un contratto di servizio per scopi di amministrazione e colpirlo con HTTP e/o TCP da un'app di console? Sembra più facile che cercare di "bloccare" qualcosa a cui non è stato davvero pensato.
Marc
Per amministrare le mie app WCF, ospito IIS e ho una sottocartella nella directory virtuale dell'applicazione con pagine ASPX admin. La cartella è protetta dall'accesso non autorizzato utilizzando ruoli ASP.NET.
La cartella amministrativa include pagine indipendenti dall'applicazione (ad esempio la gestione della registrazione, i file di registro di visualizzazione) e laddove appropriate pagine specifiche dell'applicazione.
Poiché le pagine ASP.NET eseguono nello stesso appdomain dei servizi WCF ospitati, il limite di Sky per quanto riguarda l'aggiunta di funzionalità per la strumentazione e la configurazione dinamica.