How can WCF MSMQ Client edit the WCF/MSMQ queue? How to Restart WCF/MSMQ Service w/o loosing Current Queue Entry? RRS feed

  • Question

  • Continuing the previous discussion: My query in MSDN WCF Forum on how to implement throttle for MSMQ/WCF

    I want to implement a client that can load up a throttled WCF/MSMQ queue with CMD.EXE commands where these commands are large compiles and builds and backup commands that take many hours to execute.

    (1) How can I create a WCF client that can enumerate the commands (jobs) previously submitted and now pending in the queue that have not started execution yet and

    (2) possibly remove some or all of them? I tried bing searching "wcf client delete queue entry" without much luck. Are there some better keywords? 

    (3) Also: I tried an experiment where I loaded up a queue and rebooted my computer before the service could process all the entries. I was pleased to discover that the pending queue entries survived. What a pleasant surprise! Why is this? I would not expect this to be the default behavior. How is it storing my pending queue entries? Is it using MS SQL Server?

    (4) Lastly: How can enhance the WCF/MSMQ service so that when I am ready to shut down my computer, it is allowed to finish executing the current queue entry (cmd.exe command) but does not remove and start executing the next queue entry? I tried bing searching this and I was not clear the name of the feature I want. Maybe I need to implement a Message Inspector? Can a Message Inspector check a Windows mutex (or windows event might be more appropriate) and say No! I am not going to remove the next entry from the queue? After I found Azure WCF/MSMQ Tutorial it sounds like this is a non-issue for Azure WCF/MSMQ because when processing starts on an entry, it becomes invisible and, eventually, becomes visible again if the processing had not completed. Is this true of non-azure WCF/MSMQ?  Thanks Siegfried

    siegfried heintze

    Thursday, October 8, 2015 3:56 PM