Over the last few days, I’ve done some work on .Net download library, the successor to my FileDownloader class. I started working on this project about half a year ago, and had quite some difficulties picking up the thread again after GSoC 2009, since I was in the middle of rewriting the code I was simultaneously translating from MyDownloader, mainly with the handling of the worker threads. The core work has been completed now, meaning that you can use the lib to download files, and track their progress. This is still in experimental stage though, and the pause and resume functionality has not yet been adapted to my new worker implementation.
In any case, the first release, which will be 0.1, is in sight now. This release will cover the basic functionality promised by the library; segmented downloads in the background that you can pause and resume, and can track the progress of (percentage, speed, downloaded bytes, remaining bytes, remaining time, elapsed time). After this, I’m planning to do some big rewrites of things that come from MyDownloader I’m not really happy with. This will mainly be making the whole library more OOP and event based. Only after that I’ll start on the other things I originally scheduled, such as prioritizing downloads and bandwidth limitations. By that time, .Net fw 4.0 will probably be released, and it’s a good possibility I’ll start using post .Net 2.0 technologies then, mainly things found in the Task Parallel Library.
3 thoughts on “.Net Download Library: the first results”
That sounds good! Keep it going 😉
Just curious if there were ever any further developments in this library ? Finding it a little difficult to track these days 🙂
I’m not currently working on this project, as my priorities are elsewhere, and am not sure I will pick up the thread again. It won’t be in the coming 3 months in any case.
Getting it to work should not be to difficult if you are skilled with vb.net and know how to do multi-threading t-stuff though, just requires some time. It’s open source and available online, so anyone who feels like it can pick up this task, or hire someone to do so 🙂