Progress notification in WCF for long running processes - How?

Andrei Rînea picture Andrei Rînea · Jan 13, 2011 · Viewed 10.3k times · Source

I have to design and implement a way to deal with long running processes in a client/server application. A typical long running process would/could take 2-3 minutes. I also need to report progress to the UI in the meantime and keep the UI responsive.

Having these in my mind I though of a few solutions:

  • One async request to start the process which starts the server-side process and returns an assigned LRPID (Long Running Process ID) then poll periodically from the client using that LRPID. (Pro: simple to deploy, no firewall messing around Con: Unelegant, resource consuming etc.)

  • Use a duplex binding (such as NetTcpBinding) and initiate callbacks from the server as progress is being made (Pro: Elegant, efficient, Con: Deployment nightmare)

  • [Your suggestion???]

What would be your take on this?

Answer

Matt Klepeis picture Matt Klepeis · Jan 13, 2011

Here is a post by Dan Wahlin about how to create a WCF Progress Indicator for a Silverlight Application. This should be of some help.