public async Task <IActionResult> UploadFile(UploadLogModelView uploadLogModelView) { if (ModelState.IsValid) { if (uploadLogModelView.FormFile != null) { var uniqueFileName = GetUniqueFileName(uploadLogModelView.FormFile.FileName); var uploads = Path.Combine(hostingEnvironment.WebRootPath, "uploads"); if (!Directory.Exists(uploads)) { Directory.CreateDirectory(uploads); } var filePath = Path.Combine(uploads, uniqueFileName); FileStream fileStream = new FileStream(filePath, FileMode.Create); uploadLogModelView.FormFile.CopyTo(fileStream); fileStream.Close(); await appDbContext.UploadedFiles.AddAsync(new UploadedFilesInfo() { Path = filePath, WasRead = false }); await appDbContext.SaveChangesAsync(); await Task.Run(() => handleLog.GetData(filePath)); // await handleLogParallel.GetData(filePath); } } return(RedirectToAction("Index")); }