利用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));
}
相关文档:
+++ 规定缓存项的键值就可以从缓存中检索缓存项的数据。然而,因为保存在缓存中的数据是不稳定的,可能会被ASP.NET移除,所以,推荐的开发方式为应该先确定缓存项是否存在,如果不存在,应该先添加该缓存项到缓存,然后再检索该缓存项。
+++ 检索缓存项
下面的例子演示,确定名为“CacheItem”的缓存项是否存在 ......
在ASP.NET下使用缓存技术,我个人觉得有以下几点:
1) 提高应用程序性能的手段在应用程序开发的各个阶段都能体现出来,既有小细节,又有大方向。比如,保证设计一个好的软件逻辑结构;保证使用一个合适的数据结构,是集合、树形结构,还是链表。凡是程序都是由数据结构组成的,一谈到数据结构就一定会涉及到数据的插入、删 ......
+++ 页面代码如下:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="username" DataSourceID="SqlDataSource1"
PageSize="3">
<Columns>
  ......
<FRAMESET> <FRAME>
<NOFRAMES>
<IFRAME>
■ 框架概念 :
所谓框架便是网页画面分成几个框窗,同时取得多个 URL。只 要 <FRAMESET> <FRAME> 即可,而所有框架标记 要放在一个总起的 html 档,这个档案只记录了该框架 如何划分,不会显示任何资料,所以不必放入 <BODY> ......
1、.Net的HTTP请求
.NET与ASP的运行机制有很大不同.
ASP的请求与响应是,ASP页面被请求,然后逐行解释.是基于过程的.最多是包含了文件,需要先引入文件罢了.
而.Net,在页面被请求后,首先是加载HTTP Module,这不是本文的重点.然后再加载HTTP
Handler.这也不是本文的重点.加载的这两项,都需要在Webconfig文件中配置.大家知道 ......