首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调度C#代码的执行

如何调度C#代码的执行
EN

Stack Overflow用户
提问于 2012-05-29 15:04:59
回答 2查看 4.4K关注 0票数 4

我使用的是ASP.Net和C#。我想在特定的时间同步一些东西。我做了一个这样做的方法,它起作用了。但我的问题是如何在每天的特定时间调用此方法。

客户端不信任任何第三方工具,因此无法使用它。

Windows服务不是一个好的解决方案。

如果我创建了一个web服务,我应该如何在每天的特定时间调用它?

例如,我想在每天下午7:00运行method

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-29 15:15:20

启动时,将具有固定过期时间的项目添加到HttpRuntime.Cache。当缓存项到期时,执行您的工作,例如WebRequest或您拥有的东西。将该项目重新添加到具有固定过期时间的缓存中。

代码语言:javascript
复制
private static CacheItemRemovedCallback OnCacheRemove = null;

protected void Application_Start(object sender, EventArgs e)
{
    AddTask("DoStuff", 60);
}

private void AddTask(string name, int seconds)
{
    OnCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
    HttpRuntime.Cache.Insert(name, seconds, null,
        DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
        CacheItemPriority.NotRemovable, OnCacheRemove);
}

public void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
{
    // do stuff here if it matches our taskname, like WebRequest
    // re-add our task so it recurs
    AddTask(k, Convert.ToInt32(v));
}
票数 9
EN

Stack Overflow用户

发布于 2012-05-29 15:08:58

您可以使用windows计划任务来运行应用程序(exe)或create windows service and use timer。看看它也可以使用的Quartz.NET

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10794534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档