Ryan said:
Here's the situation that I'm trying to accomplish:
I have a thread that runs a VERY CPU intensive command line process and I
would like to split the processing of that process between multiple systems
in a LAN.
So, I really want the other systems to "help out" with a process that is
running on a system...
Is this possible to accomplish using remoting?
:
Well sure.
Consider this. You write a program and make a class to do some portion
of work, call it CWork.
Now you make 3 instances of CWork, and initialize each to do a portion
of the work via object method calls. And run each CWork.DoWork method,
each on a separate thread. All still in the same process.
Now for what you are talking about. Say you have CWork as an object that
is instancable via .NET remoting, and it is installed on 3 computers.
Now you make 3 remoted instances of CWork, and initialize each to do a
portion of the work via object method calls. And call each CWork.DoWork
method (perhaps each on a separate thread so you can JOIN again when all
the portions have completed - or perhaps not).
This would not be as I took your original description of distributing
events to multiple subscribing clients, but rather, one client asking
many servers to do part of the work.
The purpose of remoting is NOT for what you describe, but it will do it,
and nicely. Basically the purpose of remoting is to get objects running
outside of your process to do things for you, period. It is less
specific than your question asks, is what I am saying. It is MUCH more
efficient for you to write code to call methods on objects, and receive
events for them, and so on, than to write complex interprocess
intercomputer communications for this. Although instancing and wind down
of remoted objects is just a little different than locally implemented
and run objects, after this, very much, using them is not much
different, if at all.
Go out there, and get your feet wet!