ASP.. NET站点-在特定时间触发一些代码

本文关键字:代码 定时间 NET 站点 ASP | 更新日期: 2023-09-27 18:18:40

我计划建立一个ASP。. NET网站,它将放在一个共享主机上。我没有windows服务的选项。对于一个我可以在凌晨3点执行任务的网站,我有哪些特定的选择?也许启动一个单独的线程,或者别的什么?

谢谢。

ASP.. NET站点-在特定时间触发一些代码

我正准备做类似的事情。

需要发生的是需要从Global.asax中启动一个单独的线程。

void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
    }

你还需要考虑到应用程序池会回收很多次,所以确保它是基于一个特定的时间,并且你也有一个数据库来存储它是否运行,以防应用程序池在凌晨3点回收,这是很有可能的。

你还需要某种形式的keep alive服务,如果你的网站不活跃,应用程序池不会重新启动,直到有人点击它。

处理这类活动的方法有两种:

1)在全局中启动一个线程。负责在适当的时间执行活动的asax Application_Start

2)在HttpRuntime.Cache中存储一个虚拟对象,在应用程序启动时指定超时,并让它执行CacheItemRemovedCallback中的活动。

看起来很合法