asp.net我想让程序每天晚上12点自动去执行一个操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net我想让程序每天晚上12点自动去执行一个操作相关的知识,希望对你有一定的参考价值。

asp.net我想让程序每天晚上12点自动去执行一个操作
每天晚上12点的时候检查有没有到期的帖子,该怎么做呢?

就是计划任务

参考技术A asp.net是没这个功能的,因为asp.net再怎么强它也是web, 是web的话就要有请求/响应这种机制.客户端没有请求, 服务器当然不会有响应.
如果是sql server数据库的话,可以用"作业",这个是实时的.也可以用一个Windows应用程序去模拟提交,这个不是实时的,也是定时检查.
参考技术B 在web服务器启动的时候放置一个timer来做,application_start方法下start一个线程本回答被提问者采纳 参考技术C Ajax Timer控件,设置一个时间,时间到了就执行。 参考技术D if(DateTime.Now.Hour == 0)

检查到期帖子
第5个回答  2009-09-04 可以用SQL里的作业解决这个问题啊

在asp.net mvc中每天执行一次操作[重复]

【中文标题】在asp.net mvc中每天执行一次操作[重复]【英文标题】:Perform a action once a day in asp.net mvc [duplicate] 【发布时间】:2016-01-26 14:04:24 【问题描述】:

我有一个 asp.net mvc5 网站,它从 api 获取一些图像文件并将它们存储在图像文件夹中。

public async Task<bool> getPhoto64(UserTest user)
    
        try
        
            if (!File.Exists(Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/images/" + user.IID + ".png"))))
                using (var client = new HttpClient())
                
                    string baseUrl = ConfigurationManager.AppSettings["BaseUrl"];
                    client.BaseAddress = new Uri(baseUrl);
                    client.DefaultRequestHeaders.Accept.Clear();


                    HttpResponseMessage response = await client.GetAsync("user/image?userIid=" + user.IID);
                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    
                        Stream st = await response.Content.ReadAsStreamAsync();

                        byte[] bytes = new byte[(int)st.Length];
                        st.Read(bytes, 0, (int)st.Length);
                        if (bytes != null)
                        

                            if (!File.Exists(Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/images/" + user.IID + ".png"))))
                                File.WriteAllBytes(Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/images/" + user.IID + ".png")), bytes);


                        
                    
                
        
        catch (Exception e)
        
            logger.Error(e);
            return false;
        
        return true;

    

现在当用户连接到网站时我会这样做,但我想知道网站是否有办法自动触发此方法,比如说每天 00:00 一次。

【问题讨论】:

我不认为这是关于 MVC 的,看看how to schedule a task in ASP.NET。 这是一个服务应用程序的工作 使用窗口执行调度任务调度程序可以使用在午夜运行一次的控制台应用程序进行管理。 【参考方案1】:

您可以为此使用“Windows 任务计划程序”。

【讨论】:

以上是关于asp.net我想让程序每天晚上12点自动去执行一个操作的主要内容,如果未能解决你的问题,请参考以下文章

谁会用asp.net c# 做定时器?就是每天12点定时发邮件,我在网上搜了一下,但没运行成功

求asp.net报表生成思路

asp.net 定时器 定时执行任务

请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?

asp.net 用户登录控件如何使用Access数据库

一个人的命运决定于每天晚上8点到10点之间