An object-oriented programming language developed by Microsoft that can be used in .NET.
You cannot get progress notifications from the sync version. They are blocking calls so there would be no way to respond anyway outside a separate thread.
Not sure what your intended point was around .NET 4 vs .NET 4.5. You can switch to the async version on .NET 4 if you need progress notification.
As for why your sample code isn't working, we'd need to see the full setup of the webclient. My guess is that you haven't properly hooked up the event or you did so after starting the upload.