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

时间:2015-10-27 08:42:39

标签: c# asp.net asp.net-mvc

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

1 个答案:

答案 0 :(得分:0)

您可以使用&#34; Windows任务计划程序&#34;为了这个目的。