我在Visual Studio Web Express中具有Web应用程序,并且在SQL Server Express中拥有db。 我想在每天下午5:00执行插入100条记录daily.web应用程序是在asp.net MVC和vb.net中开发的。并使用IIS 7.5在服务器上部署。我应该遵循什么逻辑?如何在Web应用程序中运行调度程序实用程序
1
A
回答
1
对我来说,我使用这种方法,它是很好至今:)
我用Ta SKS做,重新启动在几秒钟这样的时候了任务,这一次:
public enum ScheduledTasks
{
CleanGameRequests = 120,
AnotherTask = 30,
}
然后我开始我的Application_Start
所有任务,以确保我的应用程序运行,而该任务将执行
protected void Application_Start()
{
...............
// Add the tasks on Application starts
AddTask(ScheduledTasks.CleanGameRequests);
AddTask(ScheduledTasks.AnotherTask);
}
OK,现在这里是招:)
在AddTask方法我只需要添加新的空项缓存,并根据任务的时间和呼叫该任务的合适的方法设置则absoluteExpiration它。
其实我的我无法解释的思路很清晰,但这里是代码:
private static CacheItemRemovedCallback _onCacheRemove;
private void AddTask(ScheduledTasks task)
{
// Add my `CacheItemRemoved` method to be called on cache removed
_onCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
// Add new key to the cache with the name of this task
// and Expiration time acccordin to the task
HttpRuntime.Cache.Insert(task.ToString(), (int)task, null,
DateTime.Now.AddSeconds((int)task), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, _onCacheRemove);
}
然后我的一切做的是选择在CacheItemRemoved
方法每个任务合适的方法:
public void CacheItemRemoved(string key, object time, CacheItemRemovedReason r)
{
//Get Task enum object
var task = (ScheduledTasks)Enum.Parse(typeof(ScheduledTasks), key);
// Select the suitable method to depending on the Task Enum object
switch (task)
{
case ScheduledTasks.CleanGameRequests:
GameRequest.CleanUp();
break;
case ScheduledTasks.AnotherTask:
Service.AnotherTask();
break;
}
// Don't forget to re-add the task to the cache to do it again and again
AddTask(task);
}
最后一件事仍然是你的情况是检查时间,如果是下午5点,我建议你把这个检查在你的服务类。
希望这对你有所帮助:)
0
由于您使用的是sql server express版本,您不能在sql端创建预定作业。但你可以尝试其他选项。
的Windows服务(如果你的主机提供商允许)
相关问题
- 1. 如何在web应用程序中运行小程序
- 2. 在实时应用程序中使用调度程序运行多个作业
- 3. Web应用程序实用程序类
- 4. 使用Windows调度程序运行控制台应用程序
- 5. 在运行Web应用程序中进行远程调试
- 6. 在Web应用程序中运行代码的命令行实用程序
- 7. 如何运行gradle web应用程序?
- 8. 在Eclipse中运行Web应用程序
- 9. 在netbeans中运行web应用程序
- 10. 在web应用程序中运行exe
- 11. 远程调试在Glassfish中运行的Java Web应用程序
- 12. 如何在ASP.Net web应用程序中运行后台进程
- 13. 如何在运行Java Web应用程序时调用函数?
- 14. 如何在VB.Net中使用Windows窗体应用程序实现调度程序
- 15. 如何从运行应用程序在Tomcat上部署Web应用程序
- 16. 如何运行弹簧启动应用程序作为Web应用程序以及命令行应用程序?
- 17. Web应用程序调用
- 18. 在UNIX上运行Web应用程序
- 19. 运行Web应用程序在本地
- 20. 在Android上运行web应用程序
- 21. 在tomcat上运行web应用程序
- 22. iOS - 从应用程序中调用Web应用程序
- 23. 作为Web应用程序在Web服务器上运行Java应用程序?
- 24. 停止调试,但继续运行应用程序(VS2008 asp.net web应用程序)
- 25. 调度器为Web应用程序
- 26. 为asp.net web应用程序创建一个调度程序。
- 27. Web连接的调度程序BlackBerry应用程序
- 28. 用gevent运行web应用程序
- 29. Web服务调用,如果应用程序正在运行
- 30. 如何从SWT应用程序运行SWT应用程序?
好的,很好的选择。但从逻辑上讲,一旦我在服务器主机上托管/部署Web应用程序,并且正在写实用程序方法并在系统时间上调用它,让我们说下午5:00 –
您可以通过Quartz.Net来实现,它可以帮助您创建可以编写所有代码的作业类和方法。它也有多种选项来控制预定的时间和更多。 – VJAI
谢谢马克,我认为这是最好的方式,但是,它的简单的自动功能调用发生在下午5:00。并且Web应用程序托管在db存在的服务器上。 –