views:

25

answers:

1

From a little bit of reading around, it is my understanding that the only way to detect that a client has connected to my service is through writing my own code. I am using a Singleton service. I would like to display a message every time a client connects to my service that client x with ip xxx has connected. There is no built-in event that is generated? Am I correct?

A: 

No, I don't think there's any support in WCF for your requirement.

Not sure what you want to achieve with this, either. Your service class (in your case, just a single instance) really doesn't have any business putting up messages (on screen, I presume) - that really not it's job. The service class is used to handle a request and deliver a response - nothing more.

The ServiceHost class might be more of a candidate for this feature - but again, it's job really is to host the service, spin up the WCF runtime etc. - and it's really not a UI component, either.

What you could possibly do is this

  • have an Admin UI (a Winforms, console, or WPF app) running on your server alongside your service, providing an admin service to call
  • define a fast connection between the two services (using e.g. netNamedPipe binding which is perfect for intra-application messaging)
  • when your "real" service gets a call, the first thing it does is send out a message to the admin UI which can then pick up that message and handle it

That way, you could cleanly separate your real service and it's job (to provide that service) and the Admin UI stuff you want to do and build a cleanly separated system.

marc_s
My Admin UI is running on my server, but not alongside my service, it is responsible for start and stopping my service (Open and Close). It also has an instance of my service, which is a question i posted elsewhere. So that's my current setup.As i expected, and deducted from your answer, if i want to detect clients connecting, keep a list of them, i have to do that on my own, (keep track of things in my own code).Thanks for your prompt replies.
Tamer