我想每一个小时执行一个存储过程,并且必须通过在 Global.asax 文件中创建计时器来将数据集加载到应用程序(dropdrown 或一些 asp.net 控件)中。
对于这种开发来说是非常新的,请任何人都可以发布代码或提供我在编码中必须做的确切流程以及如何加载 asp.net 控件(下拉或列表控件)。
先感谢您,
我想每一个小时执行一个存储过程,并且必须通过在 Global.asax 文件中创建计时器来将数据集加载到应用程序(dropdrown 或一些 asp.net 控件)中。
对于这种开发来说是非常新的,请任何人都可以发布代码或提供我在编码中必须做的确切流程以及如何加载 asp.net 控件(下拉或列表控件)。
先感谢您,
像这样的调度任务不适用于 aspx 应用程序。
但是,您可以尝试几种技巧/解决方法:
http://www.codeproject.com/Articles/12117/Simulate-a-Windows-Service-using-ASP-NET-to-run-sc
http://www.west-wind.com/weblog/posts/2007/May/10/Forcing-an-ASPNET-Application-to-stay-alive
http://www.mikesdotnetting.com/Article/129/Simple-task-Scheduling-using-Global.asax
您最好创建 Windows 服务或使用内置的 Windows 调度程序。
ASP.NET 是不适合这项工作的工具。
从设计上讲,Web 应用程序是一个请求-响应系统。它侦听请求、处理这些请求并返回响应。在该范围之外,应该假设应用程序没有运行。(实际上,IIS 可能会出于多种原因关闭应用程序,并在收到新请求时再次唤醒它。)
您想要的计划任务可能是Windows Service。这旨在在服务器的后台运行。包含一个计时器非常简单,它可以运行任务以响应该计时器的滴答事件。
想一想……当计时器滴答作响时, Web 应用程序会做什么?如果它正在执行后台进程而不实际响应 Web 请求,它将如何“将数据加载到某个 asp.net 控件中”?如果没有请求页面,就没有页面可以显示给用户。
我想这会起作用的方式是 Windows 服务将读取一些数据,运行一些业务逻辑来转换该数据,并将转换后的数据写入数据库中的另一个表或一组表。然后,Web 应用程序在填充其页面上的控件时将始终引用该其他表或表集。从本质上讲,Web 应用程序不知道转换数据的后端过程。它只是显示最新转换的数据恰好是什么。