views:

276

answers:

3

I have a WCF service currently using a TCP endpoint. Rather than create a separate console client app to administer the server I want the ability to telnet into the server or even just connect using a raw connection using putty and execute ascii commands straight on the server.

Any ideas how I would go about doing this? Not an expert on WCF so would appreciate any help. Thanks

+2  A: 

I doubt you could do that - WCF will always have to use its defined endpoints - TCP, HTTP - whatever. I am not aware of any telnet binding or raw connection, as you mention it.

From my perspective, why not create a service contract for admin purposes and just hit that with HTTP and/or TCP from a console app? Seems easier than trying to "bolt on" something that's not really been thought of.

Marc

marc_s
+1  A: 

I don't think WCF support custom command processing out of box and it will be quite a bit of hoop jumping to get that to work. I would suggest

  1. Host the WCF service inside a windows service rather than IIS
  2. Create a socket listener inside the windows service listening on the port of your choice
  3. Write some code to process your command when data arrives the socket
oykuo
+2  A: 

To administer my WCF apps, I host in IIS, and have a subfolder in the application virtual directory with Admin aspx pages. The folder is protected from unauthorized access using ASP.NET roles.

The Admin folder includes application-independent pages (e.g. managing logging, view log files) and where appropriate application-specific pages.

Since the ASP.NET pages execute within the same AppDomain as the hosted WCF services, the sky's the limit as far as adding functionality for instrumentation and dynamic configuration.

Joe