Here’s some background. The C# web application I developed employ another console application (for image resizing and several magical stuff), which is quite heavy on memory and processor. Once the application finished, the web app need to read the STDOUT result.
I’m planning of moving the console application to its own server for better scalability (or maybe to more servers, later). I need a way to remotely execute the console application, quickly and effectively. The connection between the computers is strictly private, so encryption and security is really not needed, more like telnet rather than ssh.
I also need connection pooling, there’s no way to reconnect every single time the application need to run.
Thanks in advance.
It sounds like you better decouple your web frontend from the actual processing and just use it to put data (images) into the system and present the results after processing.
I implemented a similar system for calculating commissions: A web frontend for creating jobs to process communicating with a WCF service (Singleton) via MSMQ.
You’ll have the freedom of moving the processing service around at any time and you could even have 2 or more machines running a processing service.