现在在做的一个网站,有点类似于新闻,产品发布网站,
后台添加产品,前台首页,显示一些最新上架,热门,推荐的产品.
点那些链接后,转到具体页面显示产品,提供产品下载.目前使用的都是动态网页的,根据URL参数,转到一个aspx页面显示产品详细信息,
下载也是根据这个参数.想把它做成静态页面,思考后发现会遇到如下问题,
请有经验的兄弟给指点一下:1.后台发布的产品比较多,一点可能几十上百个产品,
首页上的最新上架会及时更新,上传产品时选择为推荐产品,首页也会及时更新.
如果生成静态页面的话,每发布一个产品,就要重写一次静态页面,这样次数会不会太频繁,
影响性能.2.网站上面有会员登录,产品搜索,这些肯定要用到动态页面,访问数据库,
其中会用到session等等,都是静态页面怎么判断session.比如说,一个产品,
会员登录后才能下载.3.分页问题,比如某一个类别下的产品有100件,分成10页显示,用动态页面非常好做,
现在转成静态页面,里面的链接感觉不好处理.而且如果发布或者删除了一个产品,
这些分页也要重新再做一次,如果产品有10000件甚至更多.工作量不是也很大吗.
暂时就想到可能会出现这些问题,
请有经验的人指点.

解决方案 »

  1.   

    1.可以考虑使用页面缓存,直接缓存动态页面输出;如果访问量大的话,花点资源来生成静态页面也是值得的,这个要自己权衡2.将表单数据提交到一个动态页面,在动态页中判断 3.iframe动态页来显示分页信息
      

  2.   

    shalen520(Love will keep us alive) ( ) 信誉:100  2006-08-01 09:19:00  得分: 0  
     
     
       1.可以考虑使用页面缓存,直接缓存动态页面输出;如果访问量大的话,花点资源来生成静态页面也是值得的,这个要自己权衡   上头就是要生成静态的,什么便于搜索,访问速度快.
    3.iframe动态页来显示分页信息这点不是很明白.  
     
      

  3.   

    请大家
    谈谈上面几个问题的解决方案,
    或发一些生成静态html文件的资料吧,
      

  4.   

    1.可以考虑使用页面缓存,直接缓存动态页面输出;如果访问量大的话,花点资源来生成静态页面也是值得的,这个要自己权衡   上头就是要生成静态的,什么便于搜索,访问速度快.===================================================
    首页更新太频繁还不如直接用动态页,访问量大的话再加上页面缓存,这样数据库和web服务器压力不会太大
    3.iframe动态页来显示分页信息这点不是很明白.  
    ===========================
    生成时写入<iframe src=showpager.aspx?id=xxx>
    根据showpager.aspx 根据id来解析出该页面所在的页数以及上一页下一页信息并显示,这样不用为了分页信息而刷新所有页面
      

  5.   

    分页的问题可以直接生成的时候进行分页。读的时候全存DataSet.假如有一百条.
    十条一页.分页的标签也是生成静态面的时候生成的。我以前做的是先判断可以分几页。也就是说几个静态页面。然后生成文件名集合。然后生成页面的时候根据文件名集合里面的数据生成文件名。分页标签也就好解决了呗。。
    不过我还有个问题不明白。
    就是判断用户是否登录。在静态页面里面也是实时更新的。就像CSDN上面新闻发表一样。登录后可以发表新闻评论。不登录不能发布。
      

  6.   

    产品发布的多了,静态页面一大堆这个管理维护起来也麻烦,
    要是动态页面简单啊,首页,详细页,两个.aspx文件就行了那么多HTML文件扔在那里,总不能就一直扔在服务器上面不闻不问吧。
      

  7.   

    我是这么做的:
    经常更新的用URL重写.
    其他的用html,分页也是一样.有时候一次增加几条信息,生成一次html,不必要每一条生成一次.我的站点:http://www.fzengine.com
      

  8.   

    静态页面适合访问量巨大的网站如sina,可以减轻数据库的负担!
      

  9.   

    解释一下,
    楼上很多人对静态页面不理解,还有星星实际上着就是b/s程序和网站的区别.大多数情况下,html被认为比aspx?sdkjfk=skhjfj&=sdfksjdfkj这样的页面更容易被搜索引擎收录.
    实现.html扩展名有两种方式:
    1.URL重写.安装重写组件,设置相应的URL重写规则,就可以将1000.html指向1.aspx?id=1000
    2.生成静态文件,生成静态文件的好处是可以大量节省CPU.大家都知道CPU对网站意味着什么.
      

  10.   

    不要盲目追求生成静态html,除非你已经明确分析过这样做的好处大于坏处。不要高估或者低估服务器的能力,而应该通过实际测试和收集数据确定,除非你已经有若干规模类似的项目经验对性能已经很清楚。
      

  11.   

    to handsomge(汗衫) :URL重写不等于静态页,URL重写只是实现了URL友好,并不能改善性能,相反因为多了一次解析,性能比动态页还要差
      

  12.   

    shalen520(Love will keep us alive)URL重写只针对搜索引擎,当然不能提高性能,这点谁都知道的
      

  13.   

    URL重写只针对搜索引擎=====================to handsomge(汗衫) :URL重写不光针对搜索引擎,还有访问网页的人
      

  14.   

    1、你可以创建一个button,button.text="已经添加完所有产品,现在开始创建静态页面"
    这样的话,你可以将所有产品添加完成后,再添加这个按钮,循环查询一下库中,提取符合推荐产品逻辑的记录,写入html.
      

  15.   

    shalen520(Love will keep us alive) 
    ----------------------------------行了别抬杠了,没意义.支持truelove12(这些年来,我走了很多弯路!)
      

  16.   

    URL重写不光针对搜索引擎,还有访问网页的人同意,这是对访问者显示友好信息的问题就像网站重构里尽量用background而少用img一样,不同客户群(譬如盲人)需求不一样。^_^
      

  17.   

    页面index.htm
    <html>
      <head></head>
      <body>
        <script language="javascript" src="1.js"></script>
      </body>
    </htm>1.js
    document.write("Hello world!");index.htm中的脚本地址可以是动态页面,我用的是httphandle 
      

  18.   

    其实用静态页面并不是一个好办法最致命的缺点就是对已经生成的静态页面无法统一管理比如我应生成了大量的文章页面,但是如果我要对页面格式进行一下小的修改,就必须全部重新生成
    虽然可以用shtml的形式,但是shtml也需要服务器解释
    最好的解决方法是用反向代理来进行缓存,sina也是这样解决的
      

  19.   

    btut2004(0san.com chinabbr.com mop0.com) ( ) 信誉:100  2006-08-02 13:28:00  得分: 0  
     
     
       我的就是静态页,但是也有些问题没有解决,比如分权限阅读
      
     
    ===========生成静态的include文件,这些文件对访问者不可见
    访问者访问动态页面,动态判断访问者权限,根据不同权限,从对应的include文件中读取内容
      

  20.   

    建议不用要替换字符串的方式生成静态页面
    1不好管理
    2效率低,而且随着程序逻辑的增加,会越来越复杂
    建议采用aspx页面缓存来实现,这样做搜索引擎一样可以找到,因为搜索引擎都是通过get方式来抓取页面,不管你的页面是存在磁盘上还是内存中,都可以访问到
    如果条件运行的话,有可以使用伪静态的方式
    前端利用freebsd的squid做代理,访问后端的aspx页面,不过要做url重写,一般大网站都是这么做的!
      

  21.   

    生成靜態頁面的做法,那是linux沒辦法而為之的技術,相對.net而言,動態的快過靜態的!分頁來講,.aspx的datagrid其本身就支持分頁,你要做的就是寫好查詢語句“select 顯示字段1,顯示字段2 from 表”,並指明每頁顯示多少行就行了。你就記住這一點就行了,在通常情況下微軟公司的ado.net的分頁技術比你自己寫的要好!
      

  22.   

    不要盲目追求生成静态html,除非你已经明确分析过这样做的好处大于坏处。不要高估或者低估服务器的能力,而应该通过实际测试和收集数据确定,除非你已经有若干规模类似的项目经验对性能已经很清楚。__________________________________________这个是我同意的观点
    要说MSDN的访问量和更新速度怎么样,人家也没用什么静态页面!
    还有一些新闻网站,对于时时的新闻都是shtml的动态页,等这些过时了,再批量转静态页!所以,对项目进行正确的分析很有必要,然后才能定夺实施方案
      

  23.   

    继续给自己的静态页生成方案打广告 呵呵
    http://portray.mz99.com/App_Template/AlbumShow.htm 模板
    http://portray.mz99.com/static/AlbumShow196P1.htm 生成页首页不需要与产品同步,每天定时生成或有需要再生成。首页也可以用动态的, 设置页面缓存是个不错的办法。
      

  24.   

    继续给自己的静态页生成方案打广告 呵呵
    http://portray.mz99.com/App_Template/AlbumShow.htm 模板
    http://portray.mz99.com/static/AlbumShow196P1.htm 生成页首页不需要与产品同步,每天定时生成或有需要再生成。首页也可以用动态的, 设置页面缓存是个不错的办法。
      

  25.   

    应该是动态的调用静态页面,减少数库的负担。偶做过,把数据库里的东西生成XML,前端动态页面调用XML文件。不调用数据库。
    与之道理相近的是用web servises,但传说用XML反而加大负担。
    WEB服务器的负担不见得用HTML就会比动态页要提高很多。
    至少没有哪本书是这样说,偶自己也没有测试过,有高手做过的回答一下
      

  26.   

    用静态页实际上就是把数据库里的东西
    提前弄出来摆放好了等人拿。CPU和数据库压力是减小了,但是换来的是磁盘大量冗余数据和数据更新的不便。权衡一下两者的利弊或者动态跟静态结合最好。