I am working on a Windows forms application where I would like to queue operations for a windows service to accomplish in the background. I was reviewing using WCF for this purpose and it seems to fit the bill, although I am unsure how to implement a queue for these sort of operations.
What I envision on the client side (the forms application) is something along these lines (coming from many clients at any interval)
....
ITransaction transaction = New ReprocessSalesTransaction(#12/20/2009#);
wcfEndpoint.Queue(transaction);
....
(The transactions would be Command Pattern style, same interface different gooey center)
and letting the WCF application churn through them at its own merry pace. Feedback from the operations in optional, nice, but not necessary. The idea is process things for the clients in the background, and allow for the client applications to be running or not running. It should also allow me to write a separate windows service that could queue up operations as well.
Is WCF a good fit for this (hosted from a windows service)? If so, does it require a certain binding such as msmq? Are there better ways to go about pulling this off in the .Net world?