Warning

 

Close
Confirm Action

Are you sure you wish to do this?

Cancel Confirm
AR15.COM
9/5/2013 7:14:07 AM EDT
The last time I wrote a remote service or client server application was probably 6 years ago.  I did it then in VS2005.  I cannot remember how I did it.  I have since fell into the automation world and haven't written much direct windows stuff since.

I was reading a bit on WCF.  Would this work?  It's driving me nuts that I don't have my old source code to reference, but such is life.

I need to write a small client server app to check if a set of applications is running on each client machine.  The client and application info will be stored in a database.  I can write the code to do the checking, but the communications is what I need to figure out.

So basically.
- server sends list of apps to client(s).
- client checks if they are running.
- client sends back running or not to the server.

So I need to initiate a method or two on the clients and pass a few arrays around.  I need to do this with probably 50 or so clients.  I would rather have connections opened and closed per session.  maybe polling these guys 1/hr or so.

Alternatively I could set the clients up to request updated lists from the server and do their own checking periodically.  But they need to update the server also.

This is to do high level monitoring of unmanned computers.

I need to do this without IIS or any other similar web service.
9/5/2013 7:17:45 AM EDT
[#2]
Assembly implemented as a "service" that you expose your "polling" methods.   Just a guess.
9/5/2013 7:22:31 AM EDT
[#3]
Why do you even need a client - can you not poll the servers directly remotely, say with WMI to see if X,Y,Z processes are active or if A,B,C services are running?
9/5/2013 7:27:02 AM EDT
[#4]
I wrote something like this with powershell. Even wrote info into an SQL database.



Are you using a monitor tool like SolarWinds or something? Most enterprises have some monitoring tool and almost all of them support application level monitoring.
9/5/2013 7:29:49 AM EDT
[#5]
Quote History
Quoted:
Why do you even need a client - can you not poll the servers directly remotely, say with WMI to see if X,Y,Z processes are active or if A,B,C services are running?
View Quote



No client would be perfect.

WMI.  I need to research this I guess.
9/5/2013 7:56:30 AM EDT
[#6]
Quote History
Quoted:



No client would be perfect.

WMI.  I need to research this I guess.
View Quote View All Quotes
View All Quotes
Quote History
Quoted:
Quoted:
Why do you even need a client - can you not poll the servers directly remotely, say with WMI to see if X,Y,Z processes are active or if A,B,C services are running?



No client would be perfect.

WMI.  I need to research this I guess.



Grab the toolkit - nice for browsing the classes and testing bits of WQL.

WMI Toolkit

WQL is the query "language" for WMI, pseudo SQL.

ex: Select * From Win32_PerfFormattedData_PerfProc_Process WHERE x=y

Win32_PerfFormattedData_PerfProc_Process being one of the many classes exposed by WMI.

You can drive this from your processing server from something as simple as a powershell script, perl, VB, C#, or pretty much whatever your are comfortable with.

9/5/2013 8:01:25 AM EDT
[#7]
We use Altirus to monitor all enterprise-wide clients.  have you considered something like that?
9/5/2013 8:03:47 AM EDT
[#8]
Damn I'm working in C# right now (literally, this minute), and I haven't the foggiest what any of you are talking about.
9/5/2013 8:21:21 AM EDT
[#9]
Quote History
Quoted:



Grab the toolkit - nice for browsing the classes and testing bits of WQL.

WMI Toolkit

WQL is the query "language" for WMI, pseudo SQL.

ex: Select * From Win32_PerfFormattedData_PerfProc_Process WHERE x=y

Win32_PerfFormattedData_PerfProc_Process being one of the many classes exposed by WMI.

You can drive this from your processing server from something as simple as a powershell script, perl, VB, C#, or pretty much whatever your are comfortable with.

View Quote View All Quotes
View All Quotes
Quote History
Quoted:
Quoted:
Quoted:
Why do you even need a client - can you not poll the servers directly remotely, say with WMI to see if X,Y,Z processes are active or if A,B,C services are running?



No client would be perfect.

WMI.  I need to research this I guess.



Grab the toolkit - nice for browsing the classes and testing bits of WQL.

WMI Toolkit

WQL is the query "language" for WMI, pseudo SQL.

ex: Select * From Win32_PerfFormattedData_PerfProc_Process WHERE x=y

Win32_PerfFormattedData_PerfProc_Process being one of the many classes exposed by WMI.

You can drive this from your processing server from something as simple as a powershell script, perl, VB, C#, or pretty much whatever your are comfortable with.




Perfect.  That was a hell of a lot easier than I was going to make it out to be.  I owe you a beer.  proof of concept complete.  Now I just need to spend a few days polishing up an HMI.
9/5/2013 9:08:40 AM EDT
[#10]
Quote History
Quoted:



Perfect.  That was a hell of a lot easier than I was going to make it out to be.  I owe you a beer.  proof of concept complete.  Now I just need to spend a few days polishing up an HMI.
View Quote View All Quotes
View All Quotes
Quote History
Quoted:
Quoted:
Quoted:
Quoted:
Why do you even need a client - can you not poll the servers directly remotely, say with WMI to see if X,Y,Z processes are active or if A,B,C services are running?



No client would be perfect.

WMI.  I need to research this I guess.



Grab the toolkit - nice for browsing the classes and testing bits of WQL.

WMI Toolkit

WQL is the query "language" for WMI, pseudo SQL.

ex: Select * From Win32_PerfFormattedData_PerfProc_Process WHERE x=y

Win32_PerfFormattedData_PerfProc_Process being one of the many classes exposed by WMI.

You can drive this from your processing server from something as simple as a powershell script, perl, VB, C#, or pretty much whatever your are comfortable with.




Perfect.  That was a hell of a lot easier than I was going to make it out to be.  I owe you a beer.  proof of concept complete.  Now I just need to spend a few days polishing up an HMI.