利用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));
}
相关文档:
1、aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TransferMoney.aspx.cs" Inherits="BtmsWebApp.report.TransferMoney" MasterPageFile="~/ReportPage.master" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d5 ......
+++ 你可以在应用程序中使用Cache对象访问缓存项。使用Cache对象的Insert方法将一个缓存项添加到应用程序缓存中,该方法有很多重载方法,让你用不同的缓存策略将一个缓存项添加到缓存中。
+++ 如果你用Insert方法向缓存中添加缓存项,并且缓存中存在同名缓存项,那么,缓存中的同名缓存项将被替换(覆盖)。
+++ 你也可以 ......
在ASP.NET下使用缓存技术,我个人觉得有以下几点:
1) 提高应用程序性能的手段在应用程序开发的各个阶段都能体现出来,既有小细节,又有大方向。比如,保证设计一个好的软件逻辑结构;保证使用一个合适的数据结构,是集合、树形结构,还是链表。凡是程序都是由数据结构组成的,一谈到数据结构就一定会涉及到数据的插入、删 ......
+++ 页面代码如下:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="username" DataSourceID="SqlDataSource1"
PageSize="3">
<Columns>
  ......
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 ......