2017-08-22 38 views
1

每晚我的HTTPContext.Current.Cache被清除。我想热身在X时间晚上的网站,并用数据填充缓存。在Asp.net站点安排HTTP请求

由于我使用HTTPContext,所以必须在网站中运行。我现在通过点击一个简单的按钮来启动缓存,然后在几分钟内异步填充缓存。

...我已经寻找一个解决方案,其中的选项并没有真正做的工作一样容易,因为我认为这可能是:

System.Timers是轮询不断。它似乎也没有选择设置我希望它运行的特定时间?

石英似乎很矫枉过正,但可能可以完成这项工作。虽然有点阅读,让它工作。

RegisterWaitForSingleObject也可以工作,但只有一个计时器在这里呢?也不确定是否可以检查一个对象是否已经创建,因此可能会创建其中的很多对象。在创建对象后,也不改变计时器。

通过它们掠过相对较快,所以可能是错误的。您在网站内部运行计划的http请求需要做些什么?

[编辑]错字。

+0

此应用程序是在单个实例还是Web场/ Web花园中运行? – Win

+0

任务调度程序调用curl来请求包含相关代码的页面? –

+0

@Win在Web场上运行。 – JakobMillah

回答

1

这里就是我想要做 -

  1. 与匿名访问的网站中创建一个页面,并把代码启动缓存(这是按一下按钮书面现在)在页面LOAD事件

  2. 创建在C#中,这使的HTTPRequest到该页面的简单控制台应用程序(你可以看到的例子为System.Net.WebClient)。

  3. 安排此控制台应用程序的.exe在服务器上的Windows调度程序的特定时间(如凌晨4点)运行。

+0

我会试试看,看看我会坚持下去!谢谢。 – JakobMillah

+0

这种方法很容易设置和工作。仍然想知道是否有另一种方法,因为避免另一个项目和配置文件会很好。 – JakobMillah

+0

总是乐于助人!如果此答案或任何其他人解决了您的问题,请将其标记为已接受 – Cooleshwar