application/session/cookie/viewstat/cache比较说明

application:(P479)
    程序全局变量对象,是公共的,对每个用户每个页面都有效,可以用来做聊天室 

session:
    用户全局变量,是私有,对于该用户的所有操作过程都有效,每个客户端都存在一个不同的session,生存期正常是20分钟,也可以自己设定

cookie:
    客户端信息存放对象,可以把用户的信息保存在用户的本地,除非你让cookie过期,否则会一直存在
   

function  writeCookie(name, value, hours)
{
  
var expire = "";
  
if(hours != null)
  
{
    expire 
= new Date((new Date()).getTime() + hours * 3600000);
    expire 
= "; expires=" + expire.toGMTString();
  }

  document.cookie 
= name + "=" + escape(value) + expire;
}


function  readCookie(name)
{
  
var cookieValue = "";
  
var search = name + "=";
  
if(document.cookie.length > 0)
  

    offset 
= document.cookie.indexOf(search);
    
if (offset != -1)
    

      offset 
+= search.length;
      end 
= document.cookie.indexOf(";", offset);
      
if (end == -1) end = document.cookie.length;
      cookieValue 
= unescape(document.cookie.substring(offset, end))
    }

  }

  
return cookieValue;
}



viewstate
    类似于asp中的hidden控件,用来记录页面中的控件的状态的,主要在页面间信息传递时用

 

ViewState[ " CurrentTab " =   " 0 "

 

 
cache
    是缓存,用来记录已经执行过的一些数据,比如读取数据库,目的是加速显示,减少服务器的负担,过期时间也是可以自己设定的,和Application一样,用于保存全局变量,但CACHE在使用上更具有灵活性:

1。自有的按时更新缓存的机制

有的项目需要定时获取最新数据的需求,如天气预报,可能间隔10分钟 就要读取一次需求,那这可以利用CACHE本身的方法来实现。


// 监视某个时间
public   void  CreateDependency(Object sender, EventArgs e)  {
    
// Create a DateTime object.
    DateTime dt = DateTime.Now.AddSeconds(10);

    
// Create a cache entry.
    Cache["key1"= "Value 1";
    CacheDependency dependency 
= new CacheDependency(null,  dt);

    Cache.Insert(
"key2""Value 2", dependency);

    DisplayValues();
}
 

2.当缓存的源修改时,可以重新更新缓存。这个缓存源可以是变量,也可以是文件,或者目录。

//监视某个变量

public   void  CreateDependency(Object sender, EventArgs e)  {
    
// Create a DateTime object.
    
//DateTime dt = DateTime.Now.AddSeconds(10);

    
// Create a cache entry.
    Cache["key1"= "Value 1";

    
// Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[
0= "key1";
    CacheDependency dependency 
= new CacheDependency(null, dependencyKey, null);

    Cache.Insert(
"key2""Value 2", dependency);

    DisplayValues();
}
 


3.同时以多种搭配来自动更新缓存,如同时监视某个文件,并且在指定间隔的时间内自动更新。

 

// 监视某个时间和变量
public   void  CreateDependency(Object sender, EventArgs e)  {
    
// Create a DateTime object.
    DateTime dt = DateTime.Now.AddSeconds(10);

    
// Create a cache entry.
    Cache["key1"= "Value 1";

    
// Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[
0= "key1";
    CacheDependency dependency 
= new CacheDependency(null, dependencyKey, dt);

    Cache.Insert(
"key2""Value 2", dependency);

    DisplayValues();
}



   global .asax:
    
void  Application_Start( object  sender, EventArgs e) 
    
{
        
// 在应用程序启动时运行的代码
        string strConn = System.Configuration.ConfigurationManager.ConnectionStrings["IVCSDBConnectionString"].ConnectionString;
        System.Data.SqlClient.SqlConnection sqlConn 
= new System.Data.SqlClient.SqlConnection(strConn);
        
string strComm = "select ConfID,ConfName,StartTime from TIVCSBookConfer";
        System.Data.SqlClient.SqlCommand sqlCommm 
= new System.Data.SqlClient.SqlCommand(strComm, sqlConn);
        System.Data.SqlClient.SqlDataAdapter sqlDa 
= new System.Data.SqlClient.SqlDataAdapter(sqlCommm);
        System.Data.DataSet ds 
= new System.Data.DataSet();
        sqlDa.Fill(ds);
 DateTime dt 
= DateTime.Now.AddSeconds(10);
     CacheDependency dependency 
= new CacheDependency(null,  dt);
        Context.Cache.Insert(
"dataset", ds);
    }

  
  页面引用Cache:
  
void  Page_Load(Object sender, EventArgs e)
  
{
    gvConf.DataSource 
= Context.Cache.Get("dataset");
    gvConf.DataBind();
  }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值