Új hozzászólás Aktív témák
-
Szabesz
őstag
Azért írtam Parallel-lel, mert láthatóan valamit háttérben akartál csinálni, amit nem vártál be (
Task.Factory
await
vagy bármi egyéb nélkül (aminek következtében az utolsó néhány unzip eredménye hibás lesz, vagy egy szép 0 byte-os file)). De akkor legyen egyszálas,ServicePointManager.DefaultConnectionLimit
állítás nélkül:using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//ServicePointManager.DefaultConnectionLimit = int.MaxValue;
var files = new[]
{
new Uri("http://ipv4.download.thinkbroadband.com/10MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:81/10MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:8080/10MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com/10MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:81/20MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:8080/20MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com/50MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:81/50MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:8080/50MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com/100MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:81/100MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:8080/100MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com/200MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:81/200MB.zip"),
new Uri("http://ipv4.download.thinkbroadband.com:8080/200MB.zip")
};
Console.WriteLine("Start");
foreach(var file in files)
{
var tempFile = Path.GetTempFileName();
using (var wc = new WebClient())
{
Console.WriteLine($"Starting download: {file} to {tempFile}...");
wc.DownloadFile(file, tempFile);
Console.WriteLine($"End download: {file}, local path: {tempFile}");
}
//File.Delete(tempFile);
}
Console.WriteLine("End");
}
}
}Ez nálam szintén folyamatosan tölt, nem malmoz két letöltés között.
A probléma eredete valószínűleg az, hogy kapcsolatokat nyitsz, amiket nem, vagy nem megfelelően zársz le, így a connection limit betelik, és megvárja egynek a felszabadulását (esetünkben valószínűleg timeout-ját). De mivel még nem láttunk teljes (minta) forduló kódot elejétől a végéig, csak részleteket, így nehéz megmondani a pontos okokat. Csinálj egy egyszerű példát, amin előáll a probléma, és arra már egyszerűbb gyógyírt mondani.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Gamer Notebook! Csere-Beszámítás! Asus Tuf F15 FX506H / 11400H / RTX 3050 / 16GB DDR4 / 512 SSD
- HP 14 Elitebook 840 G10 FHD+ IPS i5-1335U 10mag 32GB RAM 512GB SSD Intel Iris XE Win11 Pro Garancia
- HIBÁTLAN iPhone 14 256GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3243
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
Állásajánlatok
Cég: FOTC
Város: Budapest