C# 缓存页面,但计算命中率
我有一个aspx页面,它统计每次访问并创建一个cookie。但是如果我使用OutputCache页面,则只统计请求该页面的第一个访问者。如何防止此错误 页面指令:C# 缓存页面,但计算命中率,c#,asp.net,caching,outputcache,C#,Asp.net,Caching,Outputcache,我有一个aspx页面,它统计每次访问并创建一个cookie。但是如果我使用OutputCache页面,则只统计请求该页面的第一个访问者。如何防止此错误 页面指令: <%@ OutputCache Duration="1200" VaryByParam="mode;page;sid;tid" %> 这不是一个bug,而是经过设计的。如果页面在缓存中并且“缓存的输出仍然有效”,则不会重新处理该页面。您可以在此验证阶段运行代码,这可以帮助您执行计算访问次数并将其添加到cookie的任务。
<%@ OutputCache Duration="1200" VaryByParam="mode;page;sid;tid" %>
这不是一个bug,而是经过设计的。如果页面在缓存中并且“缓存的输出仍然有效”,则不会重新处理该页面。您可以在此验证阶段运行代码,这可以帮助您执行计算访问次数并将其添加到cookie的任务。以下内容可能会有所帮助:
- 这不是一个bug,而是一个设计缺陷。如果页面在缓存中并且“缓存的输出仍然有效”,则不会重新处理该页面。您可以在此验证阶段运行代码,这可以帮助您执行计算访问次数并将其添加到cookie的任务。以下内容可能会有所帮助:
protected void Page_Load(object sender, EventArgs e)
{
//Load single post data
#region Hit Counter
//hit counter lasts during session
if (Session["LastHit" + postId] == null)
{
cmmnd.CommandText = "UPDATE Posts SET Hits=Hits+1 WHERE PostID=@PostID;";
cmmnd.ExecuteNonQuery();
Session["LastHit" + postId] = 1;
}
#endregion
}