利用Cache,asp.net 简单实现定时执行任务
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));
}
相关文档:
写了一个创建虚拟目录的 WebService 程序,在测试运行时可以成功创建,但其它程序调用时,提示没有权限创建。
查了一些资料,在web.config里面的<system.web>后加上配置:
<identity impersonate="true" userName="操作系统用户名" password="用户对应的密码" />
问题解决。特此记录,权 ......
+++ 规定缓存项的键值就可以从缓存中检索缓存项的数据。然而,因为保存在缓存中的数据是不稳定的,可能会被ASP.NET移除,所以,推荐的开发方式为应该先确定缓存项是否存在,如果不存在,应该先添加该缓存项到缓存,然后再检索该缓存项。
+++ 检索缓存项
下面的例子演示,确定名为“CacheItem”的缓存项是否存在 ......
在ASP.NET下使用缓存技术,我个人觉得有以下几点:
1) 提高应用程序性能的手段在应用程序开发的各个阶段都能体现出来,既有小细节,又有大方向。比如,保证设计一个好的软件逻辑结构;保证使用一个合适的数据结构,是集合、树形结构,还是链表。凡是程序都是由数据结构组成的,一谈到数据结构就一定会涉及到数据的插入、删 ......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace zhixiaojia.Webctr.WebControls
{
[DefaultProperty("Text")]
[ToolboxData("&l ......