ASP.NET网页编程之依据自界说字符串来缓存(部分)页面
可怜的程序员,还是逃不出移植的命运!缓存|页面|字符串好比说网站有一个Header.ascx用户控件,每一个页面都挪用此控件作为"页面头部",间接能够缓存此用户控件就能够提交功能,不外,如今此Header.ascx用户控件要显现上岸用户的上岸名,以是,就不克不及间接用上面这类缓存体例:<%@OutputCacheDuration="86400"VaryByParam="None"%>
这个时分就能够使用"依据自界说字符串来缓存页"这类办法了,详细以下:
<%@OutputCacheDuration="86400"VaryByParam="None"VaryByCustom="HeaderPageKey"%>
然后在Global类内里重写办法GetVaryByCustomString
publicoverridestringGetVaryByCustomString(HttpContextcontext,stringcustom)
{
if(custom=="HeaderPageKey")
{
//缓存Header.ascx控件
if(context.Request.IsAuthenticated)
{
returncontext.User.Identity.Name;
}
else
{
return"NoAuthenticated_User";
}
}
returnbase.GetVaryByCustomString(context,custom);
}
用户假如没有上岸,那末缓存一个版本,假如已上岸,那末依据上岸名的分歧缓存别的一个版本,哈哈,为每一个用户都缓存了一个版本,如许做,应当说不是很好的办理办法。
上述缓存手艺能够参考http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconcachingversionsofpagebasedonparameters.asp
别的,MSPetShop3.0内里也用到了如许的缓存办法,依据Request.Querystring和是不是上岸来缓存分歧的版本,不外,这个缓存仿佛默许没有开启。
有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 那么,ASP.Net有哪些改进呢? 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
页:
[1]