I have been struggling with this issue in our software for a while and we have a kludge that works, but it hard to add new functions to.
I would like something where I can store up a function call in a db then later retrieve that function call and simply run it.
Right now we have a Queue table that stores an identifier for which method to call and then has a field called ARguments that sends the arguments separated by "|" characters. Other info such as priority exists too.
Then when the system is not busy is goes through the Queue table and knocks off each item by an algorithm based on priority, insertion time, and required run date.
Ideally I would like to serialize a method call with all the arguments in place store that in the db to be retrieved at a later time (this is basically wha tI am doing, but it's a pain to hand write all the code for it).
I would think something like MSMQ would work, but we can't use that because we can't gaurantee it will exist on the systems where our software will be installed.
Thanks for any insight into this.