In many non-Windows environments and in older systems there was a process where you would submit a job or report to run in batch. Most of these systems had very complex batch processes with the ability to assign threads, priority levels, execution date and time, and a host of others. But the idea and advantage of these applications was that you could submit these via your code and assign each of these attributes that the batch job.
What I am trying to do is figure out what's the best approach to building this sort of functionality in my .Net applications. I have considered that the closest thing we have to a batch process is threading. However, I'm thinking that I might need to go a little farther than this to handle some of the queue functionality. My feeling is that I need a Windows Service app that I can use to spin through an MSMQ, and have the applications simply submit new items to the queue. The service app would then have to pick up and execute the various applications that it needs to run in batch. However, once you start putting all of the parts together, you realize that the architecture here is sort of week. You would have to have a lot of class libraries or standalone executables for the batch WinService to execute. The other option is to set up threading for each application that needs to submit something in batch. That sounds like a pain. I was hoping to find a solution that would not require that I change all of the applications. But I do want to find out what's the best approach in .Net. So, my question is simple. I want to run applications in batch in both WinForms and WebForms. I would like the ability to schedule them, assign priorities if it makes sense to do so. I would also like to be able to build up a queue if submitting dozens of threads at the same time isn't going to give me great performance. Maybe as far as performance goes, using threads is the way to go. I need a solution that will scale because the apps I'm working on are very large and could have hundreds of users. I'm not sure what approach to take because I have NEVER had the need for something like this in .Net. So I'm not sure what the .Net approach should be. Can someone give me some ideas on how they would approach this? Best regards, Jon =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com