Asp.net 在Global.asax文件中创建计时器

Asp.net 在Global.asax文件中创建计时器,asp.net,vb.net,timer,global-asax,Asp.net,Vb.net,Timer,Global Asax,我想每一小时执行一次storedprocedure,并且必须通过在Global.asax文件中创建计时器来在application(dropcrown或一些asp.net控件)中加载数据集 对于这种开发我是非常新的,请任何人都可以发布代码或提供确切的流程我必须在编码中做什么以及如何加载asp.net控件(下拉或列表控件) 提前感谢您,这样安排任务对于aspx应用程序来说是不合适的 但是,您可以尝试以下几种破解/解决方法: 您最好创建windows服务或使用内置的windows计划程序。AS

我想每一小时执行一次storedprocedure,并且必须通过在Global.asax文件中创建计时器来在application(dropcrown或一些asp.net控件)中加载数据集

对于这种开发我是非常新的,请任何人都可以发布代码或提供确切的流程我必须在编码中做什么以及如何加载asp.net控件(下拉或列表控件)


提前感谢您,

这样安排任务对于aspx应用程序来说是不合适的

但是,您可以尝试以下几种破解/解决方法:


您最好创建windows服务或使用内置的windows计划程序。

ASP.NET是执行此任务的错误工具

web应用程序在设计上是一个请求-响应系统。它侦听请求、处理这些请求并返回响应。在该范围之外,应该假设应用程序没有运行。(实际上,IIS可能会出于多种原因关闭应用程序,并在新请求时再次唤醒它。)

对于计划任务,您需要的可能是。这是为了在服务器的后台运行而设计的。包含计时器非常简单,它可以运行任务来响应计时器的滴答声事件

想想看。。。当计时器滴答作响时,web应用程序会做什么?如果它正在执行后台进程而不是实际响应web请求,它将如何“将数据加载到某个asp.net控件中”?如果不请求页面,则没有页面可显示给用户


我认为这是可行的,Windows服务将读取一些数据,运行一些业务逻辑来转换这些数据,并将转换后的数据写入数据库中的另一个表或一组表。然后,web应用程序在填充其页面上的控件时总是引用另一个表或一组表。本质上,web应用程序不知道转换数据的后端过程。它只显示最近转换的数据是什么。

windows服务真是太过分了。首先,要开发一个项目,您需要在VStudio中有一个全新的项目,并且需要在服务器上实现它的权限。除访问SQL Server和运行应用程序的次要可执行访问权限外,客户端服务器可能不会授予您任何权限。ASP.NET缓存服务要好得多,因为您可以将其初始化到现有的项目中,而不存在DLL地狱,也不存在权限问题。此链接包含所有信息@Fernando68:
“权限问题”
-当然,如果可用工具受到某种限制,则需要找到替代解决方案。但是仅仅因为你被任意禁止使用工具并不意味着它是错误的工具<代码>“一个全新的项目”-这几秒钟的时间真的那么宝贵吗<代码>“DLL地狱”-我不知道您是如何错误地管理代码以达到目的的,但您做了一些错误的事情。无论如何,不可否认,在这一答案提出后的近五年中,工具有所改进。(例如Azure Web Jobs)尽管概念仍然非常相似。我们中的一些“硬核”开发人员没有Azure甚至超越.Net 2的奢华:)