新闻更新不频繁的话就html,否则就aspx,至于分成几个,那就看你设计是否需要这样了,一般来说新闻都一样的,只是类型有所差异,没必要分成几个

解决方案 »

  1.   

    每天更新一次,完全可以每天重新上传html即可,没必要每个用户访问都去数据库里查询一次
      

  2.   

    对于aspx来说,使用 OutputCache 来自动管理“生成一个html静态页”的问题。例如你可以在页面顶部第二行写<%@ OutputCache Duration="86400" VaryByParam="none" VaryByCustom="今天 不放假" %>
    然后在 Global.asax 的代码中写    public override string GetVaryByCustomString(HttpContext context, string custom)
        {
            if (custom == "今天 不放假")
                return DateTime.Now.ToShortDateString();        return base.GetVaryByCustomString(context, custom);
        }你就会看到,在当天,页面在服务器端就会自动缓存了。
    而实际上,真正业务上的缓存并不是根据日期的,而是根据“第几期”编号的。例如<%@ OutputCache Duration="86400" VaryByParam="none" VaryByCustom="新闻栏目:IT科技" %>    public override string GetVaryByCustomString(HttpContext context, string custom)
        {
            if (custom.StartsWith("新闻栏目:"))
                return BLL.Get栏目最新期号(custom.Substring(5));        return base.GetVaryByCustomString(context, custom);
        }
    这样,一个aspx页面会根据它所在的新闻栏目的发布时间而自动刷新缓存。
      

  3.   

    如果你要使用asp.net,那么就使用它的一些现成的机制。不要什么都另外搞一套。当然如果你根本不打算使用asp.net了,那么花钱花时间搞什么“生成html页面”也许还是值得的。
      

  4.   

    至于你的“第二个点子”,在asp.net的页面缓存策略中,这叫做“ascx局部缓存”。也就是说一个aspx是可以用多个ascx拼在一起的。例如页头ascx、页脚ascx、广告ascx、主导航菜单ascx、栏目导航菜单ascx、栏目导航ascx、文章ascx、评论ascx,等等。然后你可以方便地为每一种 ascx 都设置自己的缓存策略,灵活地让aspx 上的不同部分得到加速。
      

  5.   


    目前的想法是,使用sqlserver的数据库,做一个后台便于管理各个板块的内容和样式之类的,然后根据每次的后台操作更新新的html静态文件,矛盾在于每天会有多个人多次更新,我在想到底是不断生成静态页好还是使用多个用户控件来操作,应届生没有这方面经验,请多指教
      

  6.   

    大哥,CSDN这么些年,每次你的回复我都看不太懂,,,境界太低,缓存知识不到位,先去补补