现在在做的一个网站,有点类似于新闻,产品发布网站,
后台添加产品,前台首页,显示一些最新上架,热门,推荐的产品.
点那些链接后,转到具体页面显示产品,提供产品下载.目前使用的都是动态网页的,根据URL参数,转到一个aspx页面显示产品详细信息,
下载也是根据这个参数.想把它做成静态页面,思考后发现会遇到如下问题,
请有经验的兄弟给指点一下:1.后台发布的产品比较多,一点可能几十上百个产品,
首页上的最新上架会及时更新,上传产品时选择为推荐产品,首页也会及时更新.
如果生成静态页面的话,每发布一个产品,就要重写一次静态页面,这样次数会不会太频繁,
影响性能.2.网站上面有会员登录,产品搜索,这些肯定要用到动态页面,访问数据库,
其中会用到session等等,都是静态页面怎么判断session.比如说,一个产品,
会员登录后才能下载.3.分页问题,比如某一个类别下的产品有100件,分成10页显示,用动态页面非常好做,
现在转成静态页面,里面的链接感觉不好处理.而且如果发布或者删除了一个产品,
这些分页也要重新再做一次,如果产品有10000件甚至更多.工作量不是也很大吗.
暂时就想到可能会出现这些问题,
请有经验的人指点.
后台添加产品,前台首页,显示一些最新上架,热门,推荐的产品.
点那些链接后,转到具体页面显示产品,提供产品下载.目前使用的都是动态网页的,根据URL参数,转到一个aspx页面显示产品详细信息,
下载也是根据这个参数.想把它做成静态页面,思考后发现会遇到如下问题,
请有经验的兄弟给指点一下:1.后台发布的产品比较多,一点可能几十上百个产品,
首页上的最新上架会及时更新,上传产品时选择为推荐产品,首页也会及时更新.
如果生成静态页面的话,每发布一个产品,就要重写一次静态页面,这样次数会不会太频繁,
影响性能.2.网站上面有会员登录,产品搜索,这些肯定要用到动态页面,访问数据库,
其中会用到session等等,都是静态页面怎么判断session.比如说,一个产品,
会员登录后才能下载.3.分页问题,比如某一个类别下的产品有100件,分成10页显示,用动态页面非常好做,
现在转成静态页面,里面的链接感觉不好处理.而且如果发布或者删除了一个产品,
这些分页也要重新再做一次,如果产品有10000件甚至更多.工作量不是也很大吗.
暂时就想到可能会出现这些问题,
请有经验的人指点.
解决方案 »
- 问一个问题,如何更改网站前台模板?
- Eval()绑定问题
- 推荐一本将得比较深入的asp.net书
- marquee滚动显示数据库的内容(ASP.NET 2.0 + C#+SQL)
- 谁知道在gridview中,在行上能使用MouseOver?
- ~~~~~~~请问各位师兄、师姐们,这个问题该怎么样解决,我在线等待,
- 删除报错!
- 我写的控制台程序可以改AD用户密码,为什么改写为ASP.net程序后就不行了呢??
- 能否给出编写控件的源码?控件有Button和TextBox合成
- asp.net中怎么用存储过程呀,我的代码怎么会出错?显示DataGrid1未能从选定数据源自动生成任何列。
- 用户控件能不能执行调用这个控件的页面的方法?
- 高手请进,在查询10万条以上数据的时候,哪种方法比较好???????
1.可以考虑使用页面缓存,直接缓存动态页面输出;如果访问量大的话,花点资源来生成静态页面也是值得的,这个要自己权衡 上头就是要生成静态的,什么便于搜索,访问速度快.
3.iframe动态页来显示分页信息这点不是很明白.
谈谈上面几个问题的解决方案,
或发一些生成静态html文件的资料吧,
首页更新太频繁还不如直接用动态页,访问量大的话再加上页面缓存,这样数据库和web服务器压力不会太大
3.iframe动态页来显示分页信息这点不是很明白.
===========================
生成时写入<iframe src=showpager.aspx?id=xxx>
根据showpager.aspx 根据id来解析出该页面所在的页数以及上一页下一页信息并显示,这样不用为了分页信息而刷新所有页面
十条一页.分页的标签也是生成静态面的时候生成的。我以前做的是先判断可以分几页。也就是说几个静态页面。然后生成文件名集合。然后生成页面的时候根据文件名集合里面的数据生成文件名。分页标签也就好解决了呗。。
不过我还有个问题不明白。
就是判断用户是否登录。在静态页面里面也是实时更新的。就像CSDN上面新闻发表一样。登录后可以发表新闻评论。不登录不能发布。
要是动态页面简单啊,首页,详细页,两个.aspx文件就行了那么多HTML文件扔在那里,总不能就一直扔在服务器上面不闻不问吧。
经常更新的用URL重写.
其他的用html,分页也是一样.有时候一次增加几条信息,生成一次html,不必要每一条生成一次.我的站点:http://www.fzengine.com
楼上很多人对静态页面不理解,还有星星实际上着就是b/s程序和网站的区别.大多数情况下,html被认为比aspx?sdkjfk=skhjfj&=sdfksjdfkj这样的页面更容易被搜索引擎收录.
实现.html扩展名有两种方式:
1.URL重写.安装重写组件,设置相应的URL重写规则,就可以将1000.html指向1.aspx?id=1000
2.生成静态文件,生成静态文件的好处是可以大量节省CPU.大家都知道CPU对网站意味着什么.
这样的话,你可以将所有产品添加完成后,再添加这个按钮,循环查询一下库中,提取符合推荐产品逻辑的记录,写入html.
----------------------------------行了别抬杠了,没意义.支持truelove12(这些年来,我走了很多弯路!)
<html>
<head></head>
<body>
<script language="javascript" src="1.js"></script>
</body>
</htm>1.js
document.write("Hello world!");index.htm中的脚本地址可以是动态页面,我用的是httphandle
虽然可以用shtml的形式,但是shtml也需要服务器解释
最好的解决方法是用反向代理来进行缓存,sina也是这样解决的
我的就是静态页,但是也有些问题没有解决,比如分权限阅读
===========生成静态的include文件,这些文件对访问者不可见
访问者访问动态页面,动态判断访问者权限,根据不同权限,从对应的include文件中读取内容
1不好管理
2效率低,而且随着程序逻辑的增加,会越来越复杂
建议采用aspx页面缓存来实现,这样做搜索引擎一样可以找到,因为搜索引擎都是通过get方式来抓取页面,不管你的页面是存在磁盘上还是内存中,都可以访问到
如果条件运行的话,有可以使用伪静态的方式
前端利用freebsd的squid做代理,访问后端的aspx页面,不过要做url重写,一般大网站都是这么做的!
要说MSDN的访问量和更新速度怎么样,人家也没用什么静态页面!
还有一些新闻网站,对于时时的新闻都是shtml的动态页,等这些过时了,再批量转静态页!所以,对项目进行正确的分析很有必要,然后才能定夺实施方案
http://portray.mz99.com/App_Template/AlbumShow.htm 模板
http://portray.mz99.com/static/AlbumShow196P1.htm 生成页首页不需要与产品同步,每天定时生成或有需要再生成。首页也可以用动态的, 设置页面缓存是个不错的办法。
http://portray.mz99.com/App_Template/AlbumShow.htm 模板
http://portray.mz99.com/static/AlbumShow196P1.htm 生成页首页不需要与产品同步,每天定时生成或有需要再生成。首页也可以用动态的, 设置页面缓存是个不错的办法。
与之道理相近的是用web servises,但传说用XML反而加大负担。
WEB服务器的负担不见得用HTML就会比动态页要提高很多。
至少没有哪本书是这样说,偶自己也没有测试过,有高手做过的回答一下
提前弄出来摆放好了等人拿。CPU和数据库压力是减小了,但是换来的是磁盘大量冗余数据和数据更新的不便。权衡一下两者的利弊或者动态跟静态结合最好。