欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > ASP.NET MVC-System.Threading.Timer-定时清理文件夹

ASP.NET MVC-System.Threading.Timer-定时清理文件夹

2025/1/19 2:08:36 来源:https://blog.csdn.net/pxy7896/article/details/145033797  浏览:    关键词:ASP.NET MVC-System.Threading.Timer-定时清理文件夹

环境:
win10, .NET 6.0,IIS


问题描述

假设我有一个页面,要求上传一个文件,后台收到后存储文件,然后读取、解析、计算,最后将计算结果返回前端,用于绘制图像。但是后台存储的文件,我只想保存24h内的,所以需要考虑自动清理文件。

实现

修改Global.asax.cs文件:

using System.Threading;public class MvcApplication : System.Web.HttpApplication
{private static Timer _timer;public static string DirectoryPath { get; private set; }protected void Application_Start(){AreaRegistration.RegisterAllAreas();FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);// 设置定时器,每隔1小时执行一次DirectoryPath = HostingEnvironment.MapPath("~/XXXX");_timer = new Timer(DeleteOldFiles, null, TimeSpan.Zero, TimeSpan.FromHours(1));}private void DeleteOldFiles(object state){var files = Directory.GetFiles(DirectoryPath);foreach (var file in files){var fileInfo = new FileInfo(file);if (fileInfo.LastWriteTime < DateTime.Now.AddHours(-24)){fileInfo.Delete();}}}}

复杂的定时任务可以选择Hangfire 或 Quartz.NET。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com