Add an overload of PostFileWithRequest which accepts progress callback
PostFileWithRequest works great, but user experience isn't great when this method is used to post large files (20+MB or even smaller files over a slow connection) to the server because there's no callback for progress notification.
Additionally, this method isn't async in SL5 builds, but we can work around this. We can't work around missing progress callback though.
Looking at the implementation of this method, this should be fairly easy to do. I will most likely submit a pull request with the implementation over the weekend.

-
I've added a commit for this at:
https://github.com/ServiceStack/ServiceStack/commit/f6932e02a6c2bf2473c0e7d0d64a36cd1ecc8fe4Just want to be clear of the expectations:
The way to get "drop-everything high priority" support is with a support incident which is listed on your account page https://servicestack.net/account/support (4 are included with each business licenses).
This feature request has exactly 1 vote, it doesn't matter how old the feature request is, it's prioritized by interest, if there's very little interest in the feature, there's very little likelihood it will make it into the framework.
-
Drazen Dotlic commented
OK, I've sent you a pull request with hopefully enough information to proceed, if not do let me know, thanks again.
-
Drazen Dotlic commented
I have finally gotten to doing this.
I haven't seen the async progress test, but it doesn't matter - we need **upload** progress for PostFileWithRequest call (and ideally we need this method to be available in SL5 too, why isn't it there already?).
Will add more comments into the pull request and reference this feature. -
Yeah here's an AsyncProgressTest if you haven't seen it already:
https://github.com/ServiceStack/ServiceStack/blob/master/tests/ServiceStack.WebHost.IntegrationTests/Tests/AsyncProgressTests.cs -
Drazen Dotlic commented
Turns out there's already a callback in the src/ServiceStack.Client/ServiceClientBase.cs but it's used for the purposes of download and not upload progress.
It can be abused for the upload progress, but it would be better to add a "Direction" enum to this delegate which would have values { Upload, Download } then the same callback can be used for both directions.
Will flesh this out more in the pull request.