IIS 7.0: 使用集成的ASP.NET管道增强应用程序
许缓 存响应(请参见图 11)。请注意 AddFileDependency 调用。在省略的代码中,我确定图库目录和图像的 物理路径(如果已指定),并在响应中添加文件依赖关系。这采用输出缓存支持的 CacheDependency 机 制,用以监视这些资源的变化,当资源被修改时使缓存的响应无效。这样可以使缓存的响应保留很长时间 ,只有当底层数据更改时才使它无效。当有人放入新图像或创建新的子图库时,缓存功能会自动删除受影 响的缓存响应,任何新请求都会得到更新的页面。
Figure 11 Configuring the Response to be Cached
CacheDependency 机制是一个功能强大的抽象,可用来创建您自己的、可监视任何种类底层数据的 CacheDependency 实现,例如,调用 Web 服务或检查注册表项。内置的 CacheDependency 实现包含对监 视文件、目录和 SQL Server 数据库表的支持。 部署和测试 我部署最后一个模块的方法与前面采用的方法相同,就是将模块的源文件 QdigOutputCache.cs 放到 App_Code 目录中,并在 web.config 中注册该模块: <system.webServer> 除了添加 QdigOutputCacheModule,我还重新添加了 OutputCacheModule,目的是删除其 managedHandler 先决条件,这与我之前针对表单身份验证的做法相同。这样可以使 ASP.NET OutputCacheModule 在发生对 PHP 内容的请求时运行,从而提供输出缓存服务。 最后,我创建了一个 global.asax 文件(请参见图 12),该文件包含 GetVaryByCustomString 的实 现,GetVaryByCustomString 这个函数允许我的模块依据验证的用户采取不同的缓存响应。这十分重要, 因为它为每个验证的用户保留各自的缓存副本,从而防止某个用户偶然获得其他用户的个性化视图。既然 Qdig 不提供个性化视图,这就不算问题,不过我还是将其作为最佳实践展示一下。 Figure 12 Global.asax Implements GetVaryByCustomString <%@ Application language="C#" %> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |