asp.net MVC下 使用页面缓存情况下 在 Global.asax.cs 调用 Substitution 的问题.
asp.net MVC下 在 Global.asax.cs 调用 Substitution 在vs里调试的时候是没问题的,就是vs自带的那个http服务器返回的结果是正常的,在IIS下就不正常了...
Global.asax.cs 中的代码
JavaScript代码
JavaScript调用掉的div的id
上面代码 我在Application_EndRequest下使用了 WriteSubstitution 和 HttpResponseSubstitutionCallback 来实现局部不缓存页面,用他们来实现页面加载时间的,可在IIS下不正常,还是完全被缓存了,在VS自带的那个http服务器下就是调试的时候那个,却是正常的,如果我想实现这个功能还有没有更好的方法?
或者谁能告诉我怎么解决现有的问题.
谢谢大家.
Global.asax.cs 中的代码
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Context.Items["BeginRequestTickCount"] = GetTime.GetTickCount();
}
public static string WriteTime(HttpContext context)
{
StringBuilder htmlEnd = new StringBuilder();//用于存放html
htmlEnd.AppendLine("<script type=\"text/javascript\">LoadTime(" + context.Items["EndRequestTickCount"].ToString() + ",\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\");</script>");//加入载入时间的javascript事件
htmlEnd.AppendLine("</body>"); //加入从母板页中删除的html
htmlEnd.AppendLine("</html>");//加入从母板页中删除的html
//Response.Write(htmlEnd.ToString());//输出html
//htmlEnd.Remove(0, htmlEnd.Length - 1);//清空html
return htmlEnd.ToString();
}
protected void Application_EndRequest(Object sender, EventArgs e)
{
long EndRequestTickCount = (long)Context.Items["BeginRequestTickCount"];
TimeSpan ts = new TimeSpan(MvcApplication2.Models.GetTime.GetTickCount() - EndRequestTickCount);
double ot = ts.TotalMilliseconds / 1000;
Context.Items["EndRequestTickCount"] = ot.ToString();
Response.WriteSubstitution(new HttpResponseSubstitutionCallback(WriteTime));
Context.Items["EndRequestTickCount"] = null;
Context.Items["BeginRequestTickCount"] = null;
}
JavaScript代码
<script type="text/javascript">
function LoadTime(stime, snow) {
document.getElementById("loadTime").innerHTML = "Processed in " + stime + " second(s), 0 Queries. GMT+8, " + snow;
}
</script>JavaScript调用掉的div的id
<div id="loadTime">
</div>
上面代码 我在Application_EndRequest下使用了 WriteSubstitution 和 HttpResponseSubstitutionCallback 来实现局部不缓存页面,用他们来实现页面加载时间的,可在IIS下不正常,还是完全被缓存了,在VS自带的那个http服务器下就是调试的时候那个,却是正常的,如果我想实现这个功能还有没有更好的方法?
或者谁能告诉我怎么解决现有的问题.
谢谢大家.
...全文
相关推荐
asp.net framework下webform、webapi和mvc对于文件增加权限校验
asp.net framework下webform、webapi和mvc对于文件增加权限校验
MVC5应用中的Log4Net日志配置全攻略
本文还有配套的精品资源,点击获取 简介:本文详细介绍了在ASP.NET MVC5项目中配置Log4Net以实现日志记录的方法。Log4Net是一个强大的日志工具,支持多种日志输出方式,并允许自定义日志级别。文章指导了如何添加Log4Net依赖、配置Web.config、启用配置以及在代码中使用Log4Net进行日志记录。此外,还提到了如何在Global.asax.cs和St...
《模式识别与数据挖掘》配套PPT课件
《模式识别与数据挖掘》配套PPT课件
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核


