现实中,服务器在向浏览器发送的数据中,一部分数据是不经常更新的,如果能将这部分数据缓存到浏览器端,将会大大降低传输的数据,提高应用的性能。通过Expires策略,可以使用HTTP
协议定义的缓存机制将数据缓存到浏览器中。下面我们看看Net是如何实现将数据缓存到浏览器中的。
protected void Page_Load(object sender, EventArgs e) { if (Request.Headers["If-Modified-Since"] != null && TimeSpan.FromTicks(DateTime.Now.AddHours(1).Ticks - DateTime.Parse(Request.Headers["If-Modified- Since"]).Ticks).TotalSeconds < 100) //缓存100秒,可以根据实际情况调整。也可以修改判断条件。 { Response.StatusCode = 304; Response.StatusDescription = "Not Modified"; } else { literal1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); SetClientCaching(Response,DateTime.Now); } } private void SetClientCaching(HttpResponse response, DateTime lastModified) { response.Cache.SetETag(lastModified.Ticks.ToString()); response.Cache.SetLastModified(lastModified); response.Cache.SetCacheability(HttpCacheability.Public); response.Cache.SetMaxAge(new TimeSpan(7,0,0,0)); response.Cache.SetSlidingExpiration(true); }