private static async Task <WebsiteDataModel> DownloadFilesAsync(string websiteURL) { WebsiteDataModel output = new WebsiteDataModel(); WebClient client = new WebClient(); output.WebsiteUrl = websiteURL; output.WebsiteData = await client.DownloadStringTaskAsync(websiteURL); return(output); }
private static void RunDownload() { var websites = PrepareData(); foreach (var item in websites) { WebsiteDataModel data = DownloadFiles(item); Console.WriteLine($"{ data.WebsiteUrl } downloaded: { data.WebsiteData.Length } characters long.{ Environment.NewLine }"); } }
private static WebsiteDataModel DownloadFiles(string websiteURL) { WebsiteDataModel output = new WebsiteDataModel(); WebClient client = new WebClient(); output.WebsiteUrl = websiteURL; output.WebsiteData = client.DownloadString(websiteURL); return(output); }
private static async Task RunDownloadAsync() { var websites = PrepareData(); foreach (var item in websites) { //WebsiteDataModel data = await Task.Run(() => DownloadFiles(item)); //Forcing a sync method to behave like async WebsiteDataModel data = await DownloadFilesAsync(item); Console.WriteLine($"{ data.WebsiteUrl } downloaded: { data.WebsiteData.Length } characters long.{ Environment.NewLine }"); } }