C# distributing programming

i have a situation where i have 2 dlls written in C# , but kept in 2 different servers dllA on server A and dllB on server B .

now i want to utilize power of both the servers (RAM and CPU) , how can write a program in C# , which does following things
1. executes both the dlls on their respective servers
2. now when execution of both dlls complete it combines the result on server A
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ste5anSenior DeveloperCommented:
A simple solution would be using psexec to run those programs. On the otherhand, I would also consider running your programs as Windows service.
BeyondBGCMAuthor Commented:
can you please explain it in detail .....?
BeyondBGCMAuthor Commented:
how windows service can execute 2 dlls on 2 different servers at same time , and can combine the results .
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

ste5anSenior DeveloperCommented:
It's plural: "programs". You need to run a service on each machine.
AndyAinscowFreelance programmer / ConsultantCommented:
>>executes both the dlls

dll's are libraries of code.  They do not run on their own.  Your app can use code from a dll but it runs in your app.

What you want may be impossible, it depends on what you require as results AND how much you can redesign the existing things.
BeyondBGCMAuthor Commented:
Biz Talk server can solve this problem...?
BeyondBGCMAuthor Commented:
no answer comments for past 2 months
Alexandre SimõesManager / Technology SpecialistCommented:
Hi mate,
as said before, dll's are not applications.
They don't compute on their own.

My advise is:
1. Create 2 WCF (SOAP or REST) services, one for each dll and expose the methods you need.
2. Deploy each WCF service on the different servers.
3. Consume both services from the application that needs the output.

Like this each "dll" will be executed in a different server like you want and the application just needs to wait for both executions to complete and act upon.

Also be aware this also requires that the calls to the web services need to be asynchronous.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Just reiterating the previous comments.  In order to do what you want to accomplish (regardless of whether the assemblies are exe's or dll's)...  You would need to use something that is running on the targeted server in order to make the calls and do the calculations you are attempting to use.  Whether it is a WCF service, psexec or just a plain old application does not matter.

Jacques Bourgeois (James Burger)PresidentCommented:
.NET Remoting allow you to call dlls that are installed on different computers.
Alexandre SimõesManager / Technology SpecialistCommented:
@Jaques, with .Net Remoting is just an abstraction (helper) layer on top of sockets communication.
This means that on the destination server we must have some sort of application already running and listening to a port.

So again, DLL's don't run code by themselves, and you don't do distributed computing just by spreading DLL's around.
Jacques Bourgeois (James Burger)PresidentCommented:

And this application can serve as a bridge between the client and the dll installed on the server.
Alexandre SimõesManager / Technology SpecialistCommented:
Of course, but it's not just the DLL.
You'll always need an application of some sort, on the remote server, that references the DLL and exposes the methods.
Jacques Bourgeois (James Burger)PresidentCommented:
Well, I agree that my statement about remoting was not clear. Comment taken.
AndyAinscowFreelance programmer / ConsultantCommented:
Which leads one back to the original comments on this question.
You can't do it with some setting - one has to write code and run things on each server.
Alexandre SimõesManager / Technology SpecialistCommented:
I think we all agree on that... now we just need @BeyondBGCM to come and explain exactly what he's trying to accomplish :)
ste5anSenior DeveloperCommented:
I have scared him..
AndyAinscowFreelance programmer / ConsultantCommented:
I suspect he is waiting for someone to tell him the magic word and then everything will work without having to do anything else.
Alexandre SimõesManager / Technology SpecialistCommented:
Lets give the Time-Zone go around :)

I'm out for today,
Cheers guys!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.