Ú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!
- Google Pixel 9 128GB - Porcelain (fehér) - 35 hónap garancia
- Zsír ASUS TUF A16 Gamer Tervező Laptop 16" -30% AMD Ryzen 9 7845HX 16/1TB RTX 4060 8GB QHD 2,5 165Hz
- Szép! Lenovo Thinkpad T14 Strapabíró Laptop -60% 14" Bivaly Ryzen 5 PRO 4650U 6Mag 16/256 FHD LTE
- Új dobozos Lenovo IdeaPad Gaming 3 Gamer Laptop -20% 15,6" RYZEN 5 5500H 16/512 NVIDIA 2050 4GB FHD
- Dell 7410 Laptop 14" FHD/i7-10Gen/MS Office/DDR4 16Gb/1Tb M2/HDMI/USB-C/CAM/Wifi 1Év Gari 27% Áfá-s