net缓存管理框架
⑴ 用360卫士扫描电脑垃圾,有“NET集缓存文件”这项。什么叫NET集缓存文件可以删除吗
可以删除,但是不建议删除,只要这个不影响系统的正常运行就不用删除,如果影响了如卡顿、加载慢或在太大了就删除
这个全称 是 NET程序集缓存 ,主要缓存 使用NET 框架的应用程序的资源文件,如某些图片、dll之类的,删除会影响下次加载的速度,运行的效率,仅此而已,没有太大的影响
⑵ .net带有参数的页面怎么进行缓存,缓存后可浏览正确页面
ASP.NET 提供三种主要形式的缓存:页面缓存、用户控件输出缓存和缓存 API。
页面输出缓存作为最简单的缓存形式,将已经生成的动/静太页面全部内容保存在服务器内容中。当再有请求时,系统将缓存中的相关数据直接输出,直到缓存数据过期。在这个过程中,缓存不再要再次经过页面处理生命周期。这样可以缩短请求响应时间,提高应用程序性能。显然,页面输出缓存适用于不需要频繁更新数据,而占用大量时间和资源才能编译生成的页面。
实现页面输出缓存,通常可以用以下两种方法:
一、使用@ OutputCache指令
使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要。@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明。这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存策略。
二、使用HttpCacheability类
该类主要包含用于设置缓存特定的HTTP标头的方法和用于控制ASP.NET页面输出缓存的方法。与.NET Framework 1.x中的HttpCachePolicy类相比,.NET Framework 2.0中的HttpCachePolicy类得到了扩充和发展。
使用这两种方法,我们可以实现下列功能:
1、使用参数对页的各个版本进行缓存
使用 ASP.NET,您可以根据指定的 HTTP 标头的值对某页的多个版本进行缓存。当请求页时,您可以指定按传递到应用程序的单个标头、多个标头或所有标头进行缓存。
根据 HTTP 标头值以声明方式对某页的各个版本进行缓存
A、 在 ASP.NET 页中,在 @ OutputCache 指令中包括必需的 Duration 和 VaryByParam 或 VaryByControl 属性。必须将 Duration 属性设置为大于零的整数。如果希望只按 HTTP 标头值进行缓存,则必须将 VaryByParam 属性设置为“None”。
B、 在 @ OutputCache 指令中,包含 VaryByHeader 属性,将其值设置为要作为改变缓存内容的依据的 HTTP 标头的名称。
下面的示例将页缓存 60 秒,并根据随 Accept-Language HTTP 标头传递的值设置要缓存的页的版本:
<%@ OutputCache Duration="60" VaryByParam="None" VaryByHeader="Accept-Language" %>
注意:如果要根据多个标头改变缓存的内容,请以分号 (;) 作为分隔符包括标头名称的列表。如果要根据所有标头值改变缓存的内容,请将 VaryByHeader 属性设置为星号 (*)。
根据 HTTP 标头值以编程方式对某页的各个版本进行缓存
A、 在页的 Page_Load 方法中,对页的 Response 对象的 Cache 属性调用 SetCacheability 和 SetExpires 方法。
B、 将 VaryByHeaders 属性中的 HTTP 标头值设置为 true。
下面的代码示例演示如何为有不同的 Accept-Language HTTP 标头值的请求,将某页的多个版本缓存一分钟之久。
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Response.Cache.VaryByHeaders["Accept-Language"] = true;
}
注意:如果要根据多个标头改变缓存的内容,需要在 VaryByHeaders 属性中设置多个值。如果要根据所有标头改变缓存的内容,请将 VaryByHeaders["VaryByUnspecifiedParameters"] 设置为 true。
2、使用请求浏览器缓存页的各个版本
基于浏览器类型以声明方式缓存页的多个版本
A、 在 ASP.NET 页中,包括一个具有必需的 Duration 以及 VaryByParam 或 VaryByControl 属性的 @ OutputCache 指令。必须将 Duration 属性设置为大于零的整数。如果希望仅按浏览器类型进行缓存,请将 VaryByParam 属性设置为“None”。
B、 在 @ OutputCache 指令中,包括 VaryByCustom 属性并将其设置为“browser”。下面的示例将导致持续缓存该页达 10 秒。输出将因浏览器类型而异。
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
基于浏览器类型以编程方式缓存页的多个版本
A、 在页代码中,对页的 Response 属性的 Cache 属性调用 SetExpires 和 SetCacheability 方法。
B、 调用 SetVaryByCustom 方法,在 custom 参数中传递值“browser”。
下面的代码示例演示如何持续缓存页的多个版本达 1 分钟。输出将因发出请求的浏览器的类型而异。
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetVaryByCustom("browser");
}
3、 使用自定义字符串对页的各个版本进行缓存
根据自定义字符串对页输出的多个版本进行缓存
A、 在 ASP.NET 页中包括 @ OutputCache 指令,该指令带有必需的 Duration 和 VaryByParam 属性。必须将 Duration 属性设置为大于零的整数。如果不想使用 VaryByParam 属性提供的功能,则必须将其值设置为“无”。
B、 若要以声明方式设置自定义字符串,请在 @ OutputCache 指令中包括 VaryByCustom 属性,并将该属性设置为您要作为进行不同输出缓存行为的依据的字符串。
下面的指令根据自定义字符串“minorversion”改变页输出。
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="minorversion" %>
1. 若要以编程方式设置自定义字符串,请调用 SetVaryByCustom 方法,并将要使用的自定义字符串传递给它。
下面的代码示例演示如何将自定义字符串设置为“minorversion”。
Response.Cache.SetVaryByCustom("minorversion");
在应用程序的 Global.asax 文件中,重写 GetVaryByCustomString 方法以指定自定义字符串的输出缓存行为。
被重写的方法接受您在 VaryByCustom 属性或 SetVaryByCustom 方法中设置的字符串,作为它的 arg 参数。例如,有些页可能根据请求浏览器的次版本进行缓存。对于这些页,可以将 VaryByCustom 属性设置为“minorversion”。然后,在被重写的 GetVaryByCustomString 方法中,可以检查 arg 参数,并根据 arg 参数的值是否为“minorversion”返回不同的字符串。
下面的代码示例演示一个 Global.asax 文件,其中的 GetVaryByCustomString 方法被重写。
<%@ Application language="C#" %>
<script runat="server">
public override string GetVaryByCustomString(HttpContext context,
string arg)
{
if(arg == "minorversion")
{
return "Version=" +
context.Request.Browser.MinorVersion.ToString();
}
else
{
return "";
}
}
</script>
⑶ .NET中的缓存有几种
.NET中的缓存(仅供参考)
一.Output Caching (输出缓存)
当一个网页频繁被访问的时候,可以通过把整个网页缓存来提高执行效率。这样做的优点是,当用户再次访问这个网页的时候,被格式化好的HTML会被直接显示。
Output Caching 定制的两种方法:
1.基于底层的API技术
2.基于高层的@OutputCaching
一旦Output Caching 被定制过,那么这个网页就会在第一次被访问的时候生成cache,直到请求过期为止。
二.Page Fragment Caching (回调缓存)
作为Output的缓存的附加功能,还提供一种缓存技术,专门用于缓存用户控件或者网页中的一部分东西。可以指定没一部分或者某一个区域不被缓存。
在页面中,指定返回参数,来决定控件被缓存的部分。使用语句VaryBym语句指定控件更具参数来改变。
三.Data Caching (数据缓存)
ASP.NET提供了一种非常快捷的方法进行数据库缓存,用户可以非常方便的对页面变量进行缓存。并以此提高程序效率。
一个页面变量的缓存生命周期与应用程序的缓存生命周期相同。
同时对后台数据进行修改的时候,还需要对Cache进行相应的处理。
四.SQL Cache (配置连接池,提高数据缓存)
通过配置数据库连接池,只有当数据库数据被改变的时候,缓存才会改变。
五.Cache Configuration (配置缓存)