在asp.net mvc中每天执行一次操作

本文关键字:一次 操作 执行 net asp mvc 每天 | 更新日期: 2023-09-27 18:19:27

我有一个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触发一次。

在asp.net mvc中每天执行一次操作

您可以使用"Windows任务调度程序"来实现此目的。