Doing this with threads

This commit is contained in:
Serraniel 2017-01-28 22:44:17 +01:00
parent c6cbafbf61
commit a7c60b23e0
2 changed files with 13 additions and 4 deletions

View file

@ -1,4 +1,5 @@
using System; using System;
using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@ -14,6 +15,7 @@ using Discord;
using Discord.Net; using Discord.Net;
using Nito.AsyncEx; using Nito.AsyncEx;
using ConnectionState = Discord.ConnectionState; using ConnectionState = Discord.ConnectionState;
using Message = Discord.Message;
namespace Discord_Media_Loader namespace Discord_Media_Loader
{ {
@ -176,11 +178,18 @@ namespace Discord_Media_Loader
foreach (var a in m.Attachments) foreach (var a in m.Attachments)
{ {
while (clients.Count > 50)
{
// wait
}
var wc = new WebClient(); var wc = new WebClient();
clients.Add(wc); clients.Add(wc);
wc.DownloadFileCompleted += (wcSender, wcE) => clients.Remove((WebClient)wcSender); wc.DownloadFileCompleted += (wcSender, wcE) =>
wc.DownloadFile(new Uri(a.Url), $@"{path}\{a.Filename}"); {
clients.Remove(wc);
};
wc.DownloadFileAsync(new Uri(a.Url), $@"{path}\{a.Filename}");
} }
} }

View file

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben: // übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.0.28")] [assembly: AssemblyVersion("0.1.0.31")]
[assembly: AssemblyFileVersion("0.1.0.28")] [assembly: AssemblyFileVersion("0.1.0.31")]