2011年4月25日
摘要: 自定义缓存依赖项的设计 从ASP.NET 2.0开始,CacheDependency类是可继承的,即我们能够从它派生出自己的类,实现通过外部的事件源使缓存项失效的机制。基类CacheDependency的扩展 为能将派生类整合到现有的ASP.NET缓存基础结构中,并对其提供充分的支持,相对于ASP 1.x版本,CacheDependency类加入了许多公共成员和受保护成员。详见下表: 自定义依赖项要依靠其父类与Cache对象进行交互。CacheDependency的派生类会调用NotifyDependencyChanged方法,以便通知基类依赖项已被更改。作为响应,基类会更新HasChange 阅读全文
posted @ 2011-04-25 23:01 辛勤的代码工 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 在ASP.NET中,缓存有两种形式:应用程序数据的缓存和页面输出的缓存,这两种形式相互独立。应用程序数据的缓存 ASP.NET缓存API是以Cache对象为中心的全局数据容器,由所有会话共享。Cache对象是线程安全的容器,能自动移除无用的数据项,支持各种形式的信赖关系,还可以指定移除回调和优先级。Cache类 Cache类位于System.Web.Caching命名空间中,可以将Cache看作是应用程序级数据和对象的仓库。 Cache类的实例是针对每个AppDomain而创建的,只要所处AppDomain运行,它就一直有效。应用程序的ASP.NET Cache的当前实例,可以由HttpCo. 阅读全文
posted @ 2011-04-25 21:06 辛勤的代码工 阅读(968) 评论(0) 推荐(0) 编辑
摘要: ASP.NET页面提供了ViewState属性,使应用程序能在同一页面的两次连续请求间保存某些数据,并生成调用上下文。视图状态代表页面最近一次接受服务器处理以来的状态。这种状态会被保存(但不一定是在客户端),并在页面请求被处理时恢复。 默认情况下,视图状态以添加到页面中的隐藏字段的形式来维护。因此,状态信息会与页面一起来回传输。视图状态中存储的信息只与页面和其中的某些子控件有关,浏览器不会以任何形式来使用它。 视图状态优点:不需占用任何服务器资源,实现容易,使用方法。缺点:对浏览器无用,增加HTML代码中的冗余数据。StateBag类 StateBag类是视图状态幕后的类,能够管理ASP.N. 阅读全文
posted @ 2011-04-25 13:55 辛勤的代码工 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 综合各方面考虑,有3种会话状态管理的自定义方案: 1. 保留默认的会话模块,但编写自定义的状态提供程序来更改存储介质。这样,我们还有机会重写一些用于在存储与Session之间运载会话数据的辅助类。 2. 保留默认的会话模块,但替换会话ID生成器。 3. 将默认的会话状态模块替换成自己的。这种方法提供了最好的灵活性,但也最为复杂,建议仅当的确必要且知道确切的实现方法才使用这种方案。构建自定的会话状态提供程序 会话状态提供程序是一种组件,负责为当前会话数据进行服务。当请求需要状态信息时,该组件便会被调用,从给定的存储介质中获取数据,并返回给主调模块。在请求结束时,也会被调用,以便将提供的数据写入. 阅读全文
posted @ 2011-04-25 00:14 辛勤的代码工 阅读(603) 评论(0) 推荐(0) 编辑