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

C# 如何在ASP.NET中的特定时间运行代码,c#,asp.net-mvc,pdf,file-upload,web-applications,C#,Asp.net Mvc,Pdf,File Upload,Web Applications,我有ASP.NETMVC5应用程序。我的应用程序的关键功能之一是上传pdf文件,通过ocr读取一些值并制作其他内容 现在我想实现一些功能,通过这些功能,我的应用程序应该在特定的时间检查特定的文件夹,例如pdf_文件夹,检查是否有pdf文件,自动上传每个pdf文件,并执行应用程序的其余逻辑。完成上传所有文件后,应将所有文件移至另一个folderfinished_文件夹 例如,这是我的控制器,当用户通过我的应用程序手动上传pdf时,它处理上传文件。 我只是想在特定的时间自动完成这个过程 publi

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

现在我想实现一些功能,通过这些功能,我的应用程序应该在特定的时间检查特定的文件夹,例如pdf_文件夹,检查是否有pdf文件,自动上传每个pdf文件,并执行应用程序的其余逻辑。完成上传所有文件后,应将所有文件移至另一个folderfinished_文件夹

例如,这是我的控制器,当用户通过我的应用程序手动上传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");

    }
}

任何帮助都将不胜感激。

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

使用Quartz.Net库创建计划任务。 例如,编写控制台应用程序并将其添加到Windows调度程序。应用程序将调用所需的方法。 对于dot net核心应用程序:
这些方法解决了应用程序的入睡问题

有许多解决方案。以下是我使用的两个选项:

使用Quartz.Net库创建计划任务。 例如,编写控制台应用程序并将其添加到Windows调度程序。应用程序将调用所需的方法。 对于dot net核心应用程序:
这些方法解决了应用程序睡着的问题

您必须使用后台作业来完成此任务。 有两种方法

使用任务调度器,您需要创建一个控制台应用程序 您的逻辑,例如您想要执行的任务,并将其添加到任务中 调度程序。 使用绞刑
此任务必须使用后台作业。 有两种方法

使用任务调度器,您需要创建一个控制台应用程序 您的逻辑,例如您想要执行的任务,并将其添加到任务中 调度程序。 使用绞刑