易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET的缓存

我们知道一个网站在访问量巨大的时候,如果能使用缓存技术,可以明显降低网站的访问负担,所以废话不多说,我们来看一下在ASP.NET中如何能实现缓存。
首先应该清楚的是,在ASP.NET中,有两类缓存可以使用,第一类是输出缓存,第二类是数据缓存。
输出缓存的通俗解释就是,就是我们把某个被访问的页面在用户访问时暂时生成,然后保存起来,这样在其他人访问此页面的时候,我们不需要再从新生成此页面,而只需要从这个已经生成的页面取得就可以了。这样就不需要再执行一次重新生成此页面的过程,大大减少服务器的负担。
另一类的数据缓存,从字面上来看很好理解,就是把经常需要用到的一些data,例如一些数据库中的数据,也一下子取出来,然后放到服务器的内存中,这样在使用到他们的时候,我们就不需要再去一遍遍的访问数据库,而只需要从内存中复用这些缓存的数据就可以了,这样也会大大减轻服务器的负担。
下面来看看这两个技术的具体细节。
我们先来看看输出缓存的例子,我们可以打开我们的VS.NET2005或者2008(甚至2010等等),建立一个新的ASP.NET网站项目(这一步很简单,在这里就不多说了),然后新建一个页面,这个页面很简单,我们可以在页面的page_load事件中随便写一些什么代码,最便于发现页面被缓存的毫无疑义是输出时间了,我们可以明显发现时间没变来告诉人们这个页面被缓存过了,所以我们可以在我们的page_load事件中这样写:
lbldate.Text="now the time is :<br/>";
lbldate.Text+=DateTime.Now.ToString();
然后我们只要在我们页面的aspx文件的顶端加入OutputCache指令,向下面这样:
<%@ OutputCache Duration="20" VaryByParam="None" %>
这样我们的页面就会被服务器缓存,周期为20秒。
20秒之内,不管有多少人访问,所有对此页面的请求都只会从缓存中取得。
关于VaryByParam特性:
而其中的VaryByParam特性的意思是,当为None时,表示只是缓存本页面的一个副本,而不考虑查询字符串的情况。而当将VaryByParam设置为*值时,表示将考虑访问字符串的情况。这个时候,服务器会对每个对此页面的带不同访问字符串的访问分别缓存。
另外我们还可以将VaryByParam设置为具体的查询字符串,以针对某个查询字符串进行特定的缓存,例如,我们可以这样:
<%@ OutputCache Duration="20" VaryByParam="ProductID;CurrencyType" %>
这样的好处就是,服务器会针对ProductID和CurrencyType这两个字符串的请求来


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

让你的ASP.NET虚拟主机也支持子网站

  现在ASP.NET虚拟主机一般都可以绑定多个域名,但是通过这几个域名打开的页面都一样。如何使绑的这几个域名分别打开不通的页面(即实现子网站的功能)呢? 其实很简单,只需4个步骤:
    1)给虚拟主机绑定几个域名;例如:www.abc.com,services.abc.com,support.abc.com。
    2 ......

ASP.NET跨页面的控件调用

ASP.NET3.5可以很简答的实现一个很有用的功能,既跨页面传送,
传统的提交窗体只会将窗体提交给它自己。而跨页面的提交,
会将page1的内容传送个page2,并在page2中使用page1中的控件。
① 跨页面传递的简单实现
    页面一(Default.aspx)中的控件
        <a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号