【发布时间】:2015-04-20 15:05:24
【问题描述】:
我遇到了奇怪的缓存问题,并用输出缓存指令组合了一个非常简单的 .NET 页面。但是,页面没有缓存(每次刷新时内容都会更新)。
我在本地机器 (Windows 7) 上安装了一个简单的 CMS (Ektron v. 9.0 SP2) 站点。在这个网站项目中,我创建了一个简单的页面来测试输出缓存。这是页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CacheTest.aspx.cs" Inherits="CacheTest" %>
<%@ OutputCache Duration="3600" Location="Server" VaryByParam="None" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Cache Test</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p><%= DateTime.Now.ToString() %></p>
</div>
</form>
</body>
</html>
此页面根本不缓存。
在我们的生产站点上,OutputCache 通常也不起作用,除非在一个配置与上述完全相同的测试页面上。我不知道为什么那一页是不同的,并且是唯一可以在开发服务器上运行的页面,但是当复制到在我的本地主机上运行的站点中时,它不再起作用了。
我确实注意到,在我们的生产站点上,使用母版页似乎会使输出缓存不起作用,尽管在这个本地主机站点中我没有使用母版页,它仍然不起作用。
我应该从哪里着手解决这个问题?我查看了 IIS 设置,找不到任何明显的设置来打开/关闭页面级缓存。我还广泛搜索了网络,似乎找不到其他人遇到此问题。
【问题讨论】:
标签: asp.net caching outputcache ektron