KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a C# service application which interacts with a database. It was recently migrated from .NET 2.0 to .NET 4.0 so there are plenty of new tools we could use. I'm looking for pointers to programming approaches or tools/libraries to handle defining tasks, configuring which tasks they depend on, queueing, prioritizing, cancelling, etc. There are various types of services: Data (for retrieving and updating) Calculation (populate some table with the results of a calculation on the data) Reporting These services often depend on one another and are triggered on demand, i.e., a Reporting task, will probably have code within it such as if (IsSomeDependentCalculationRequired()) PerformDependentCalculation(); // which may trigger further calculations GenerateRequestedReport(); Also, any Data modification is likely to set the Required flag on some of the Calculation or Reporting services, (so the report could be out of date before it's finished generating). The tasks vary in length from a few seconds to a couple of minutes and are performed within transactions. This has worked OK up until now, but it is not scaling well. There are fundamental design problems and I am looking to rewrite this part of the code. For instance, if two users request the same report at similar times, the dependent tasks will be executed twice. Also, there's currently no way to cancel a task in progress. It's hard to maintain the dependent tasks, etc.. I'm NOT looking for suggestions on how to implement a fix. Rather I'm looking for pointers to what tools/libraries I would be using for this sort of requirement if I were starting in .NET 4 from scratch. Would this be a good candidate for <a href="http://msdn.microsoft.com/en-us/netframework/aa
Tags (comma-separated)
Save Edits
Cancel