网站中浏览器缓存的控制(IIS+ASP.Net)
网站中浏览器缓存的控制(IIS+ASP.Net)
在IIS6.0 + Windows Server 2003通过测试。如有错误敬请指正。
1、 IIS控制(对Js等文件):
在IIS管理器中查看文件属性,在HTTP头的Tab页中,设置“启用内容过期”。
l IIS默认(不勾选):
在同一个浏览器窗口内(包括内部的框架内),不管是哪个页面,引用这个js文件时,都不会去服务器下载。当关掉浏览器新开窗口,或是弹出新的窗口时,或是按F5刷新,都会重新下载js。
l 立即过期:
无论哪种情况下,都会重新下载js文件。
l 设置时限或过期时间:
当已经过期时,无论哪种情况下,都会重新下载js文件。
当没过期时,不会重新下载js文件,即使关掉浏览器重开窗口也不会。F5时会重新下载。
2、 服务端控制(对aspx等程序文件):
在代码中进行设置。
l 设置缓存方式:Response.Cache.SetCacheability(HttpCacheability.Server);
l 设置过期: Response.Cache.SetMaxAge(new TimeSpan(1, 1, 1));
或 Response.Cache.SetExpires(DateTime.Now.AddHours(1));
缓存方式
Public
Server
NoCache
Private
有设置过期
未过期时,无论如何都不重新下载,即使F5刷新也不。过期后任何情况都重新下载
未过期时,除非按F5刷新,否则不下载,关掉重开窗口也不。过期后任何情况都重新下载。
没设置过期
任何情况都会去服务器下载
3、 补充说明:
ASPX文件在IIS中设置HTTP头无效。
相关文档:
using System;
using System.Data;
using System.Diagnostics;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
namespace System
{
/// <summary>
/// Description of MySqlDBUtil.
/// </summary>
public class MySqlDBUtil
{
&nbs ......
Paging long articles in ASP.NET using C#
Long articles are better broken into bite-sized chunks over several pages. With static HTML, this is easily achieved by dividing the article into logical separations and creating separate .htm files for each. Here's how to do it using C# for an article that ......
在后台用C#枚举控件不像javascript那么简单,HasControls只能抓到直属下级的控件,如果有多个div,table嵌套,就要递归了
public static void CloseAllContent(System.Web.UI.Control page,bool bOpen)
{
int nPageControls = page.Controls.Count ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Office.Inter ......
public void CreatXml(int oid)
{
XmlTextWriter writer = null;
string fileName ="a"+ oid.ToString() + ".xml";
  ......