.net 每天点击一次URL
我想确保一个链接在我的.net网站中每天被点击一次(而且只有一次), 我在共享服务器上,因此无法运行可执行文件,也无法访问24小时开机以创建计划任务的pc.net 每天点击一次URL,.net,.net,我想确保一个链接在我的.net网站中每天被点击一次(而且只有一次), 我在共享服务器上,因此无法运行可执行文件,也无法访问24小时开机以创建计划任务的pc 我的选项是什么?您可以使用缓存类-添加新缓存项时,您可以将其设置为24小时后过期,并在事件处理程序中传递,以便在其过期时执行 在事件处理程序中,可以重置缓存项 请参阅和onRemoveCallback的参数: onRemoveCallback- 类型:System.Web.Caching.CacheItemRemovedCallback 从缓
我的选项是什么?您可以使用缓存类-添加新缓存项时,您可以将其设置为24小时后过期,并在事件处理程序中传递,以便在其过期时执行 在事件处理程序中,可以重置缓存项 请参阅和
onRemoveCallback
的参数:
onRemoveCallback-
类型:System.Web.Caching.CacheItemRemovedCallback
从缓存中删除对象时调用的委托(如果提供)。当应用程序的对象从缓存中删除时,可以使用此选项通知应用程序
有可能做一个cron工作吗
0 0 * * * curl -q http://www.example.com/page.aspx
你最好的选择是一个静态构造函数+定时器+一些安全措施来确保它每天只运行一次 您可能需要对此进行改进,以确保做到以下几点:不要等到一整天才开始跑步。如果前一次跑步是23小时前,不要等待一整天。一些数学基本上是为了确保下一次运行是从运行开始的24小时开始 大概
private static DateTime _lastNavigated;
private static Timer _myTimer
static MyObject()
{
_myTimer = new Timer(24 * 60 * 60 * 1000);
_myTimer.Elapsed += MyOnceADayCode;
_myTimer.Enabled = true;
}
public static void MyOnceADayCode(object source, ElapsedEventArgs e)
{
_lastNavigated = DateTime.UtcNow;
if (DateTime.UtcNow > _lastNavigated.AddDays(1))
{
// Haven't navigated in the last day, need to navigate again
}
}
另一个想法(取决于您的帐户是否具有访问权限)是创建(使用代码)计划任务。有一些很好的包装器类使用COM为您完成所有工作。您仍然需要一个静态构造函数来确保代码在应用程序加载时执行。要使用ASP.NET在您的网站内执行计划任务,我建议您阅读。您能否澄清一下,关于应用程序重新启动的时间是每天一次?是否需要保存结果?如果应用程序重新启动,是否需要从磁盘读回结果?@MAfifi-基本上,我需要执行一块代码,执行一些操作,包括保存到数据库。通过点击url,我可以执行该代码块»,并且无法访问24小时开机以创建计划任务的pc«–您可以建议WebCron服务。