c# - 如何在 ASP.NET 中的特定时间运行代码

标签 c# asp.net-mvc pdf file-upload web-applications

我有 ASP.NET MVC 5 应用程序。我的应用程序的关键功能之一是上传 pdf 文件并通过 ocr 读取一些值并制作其他内容。

现在我想要实现功能,我的应用程序应该通过该功能在特定时间检查特定文件夹(例如 pdf_folder)并检查是否有一个或多个 pdf 文件并自动上传每个 pdf 并执行其余部分我的应用程序的逻辑。完成所有文件的上传后,它应该全部移动到另一个文件夹 (finished_folder)。

例如,这是我的 Controller ,它在用户通过我的应用程序手动上传 pdf 时处理上传文件。 我只是想在特定时间自动执行此过程。

 public ActionResult GetAlreadyScannedFileList(HttpPostedFileBase file)
    {
        string path = "";

        if (file != null && file.ContentLength > 0)
        {


                UploadFileModel uploadFileModel = new UploadFileModel();

                uploadFileModel.FileName = path;
                uploadFileModel.UserId = 1;

                //Unique guid should be generated for each and every uplaoded file.
                Guid guid;
                Session["Guid"] = guid = _uploadFileService.AddUploadFile(uploadFileModel);

                //Save chnages.
                _unitOfWork.Commit();

                UploadFileModel uploadFile = _uploadFileService.GetUploadFileByGuid(guid);
                int uploadFileId = uploadFile.UploadFileId;

                _uploadFileService.ArchiveUploadFile(uploadFile.FileName);

                //send complete mail
                _uploadFileService.SendMailAfterComplete(uploadFileId);

                return RedirectToAction("SplittedItems", "UploadFile", new { id = uploadFileId });


                return RedirectToAction("GetAlreadyScannedFileList");

    }
}

如有任何帮助,我们将不胜感激。

最佳答案

这个问题有很多解决方案。这是我使用的 2 个选项:

  1. 使用库 Quartz.Net 创建计划任务。 Documentation
  2. 例如,编写控制台应用程序并将其添加到 Windows 调度程序。应用程序将调用所需的方法。
  3. 点网核心应用:Implement background tasks

这些方法解决了应用休眠的问题

关于c# - 如何在 ASP.NET 中的特定时间运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56143896/

相关文章:

C# OpenFileDialog 存储路径

c# - 显示来自不同 Controller 的操作 View

c++ - 无法使用 QPdfWriter 在 pdf 文件中添加新页面

c# - WPF 中子元素的样式触发器

c# - .NET 的 DateTime.ToString ("R"中的错误)与 UTC 日期?

c# - DotNetZip 失败并显示 "stream does not support seek operations"

c# - ASP.NET Web Api 在选择操作时忽略 RouteParameter.Optional

ios - 当通过本地网络在 iPhone 上访问 PDF 时出现灰屏

java - Ghost4J native 库将 pdf 转换为图像

具有自定义格式的 C# 通用 DateTime.ToString()