网站访问量多少才有必要生成html页,大家进来讨论下
现在用asp.net开发一个网站一个多月了,老板却突然提出前台的页面要全部生成html页,类似动感下载系统.本来可以用asp.net缓存技术,却还要生成html(当初干嘛不找写asp的),跟他讲也不明白,他说很多系统都生成html,只认"存在即合理"的逻辑.
我也想知道,网站访问量多大才有必要?还是根本就没有必要(asp.net)
问题点数:100、回复次数:42Top
1 楼bitmaque(Chaos)回复于 2005-08-18 13:18:59 得分 0
shafaTop
2 楼fphuang(人在哈尔滨·四月)回复于 2005-08-18 13:20:33 得分 20
多少访问量需要生成html,我感觉这个没有定论吧,感觉aspx支撑不了的时候自然就需要想到这些招数了,应该不是必需的Top
3 楼pontus(pontus)回复于 2005-08-18 13:21:39 得分 0
改iisTop
4 楼fphuang(人在哈尔滨·四月)回复于 2005-08-18 13:23:00 得分 0
如果给系统是给自己公司用的,老板这么做倒是可以理解,如果是给别人用的你老板是多余的,
Top
5 楼zzhang168(好多学不完)回复于 2005-08-18 13:32:43 得分 0
做程序的是说不过老板的
他要怎么做你就怎么做吧Top
6 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-18 13:37:43 得分 0
回fphuang(人在哈尔滨@net)
自己用和别人用有什么差别吗?Top
7 楼yichuan1982(亦川——四川新津)回复于 2005-08-18 13:39:56 得分 0
我没有测试过
不过像一般的网站都没有必要
一天起码要上万才做吧(个人随口说的 :) )Top
8 楼pwqzc(吴旗娃徒也~~老鼠粮仓之路)回复于 2005-08-18 13:42:38 得分 0
我想生成htm也并不一定比aspx快多少啊
有知道的出来顶下!Top
9 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 13:46:52 得分 0
只要有访问,基本上生成html就会另网站显得很快,我的感觉,至少看上去快3倍。所以可以说访问量>1,并且你们的网站服务器如果运行速度比较慢,就可以转为html。
不过这样好好评估一下是否只有这一种方法提高速度,另外是否影响了网站的动态功能。Top
10 楼flcandclf(怪手大分)回复于 2005-08-18 13:47:21 得分 0
我想生成htm也并不一定比aspx快多少啊
有知道的出来顶下!
兄弟这句话就错了,至少节省了读取数据库的时间啊
一般的网站没必要这样做,除非国内几个大型的综合门户网站才有必要Top
11 楼fphuang(人在哈尔滨·四月)回复于 2005-08-18 13:49:15 得分 0
-- 回复人: lengyubing_1983(冷于冰) ( ) 信誉:100 2005-08-18 13:37:00 得分: 0
-- 回fphuang(人在哈尔滨@net)
--自己用和别人用有什么差别吗?
当然有差别,自己公司用老板当然是希望,系统的性能越快越稳定越好啊,但是要是给别人用就存在一个成本的问题了,开发的时间越长成本不就是越高吗
Top
12 楼bomb_boy(梦之星)回复于 2005-08-18 13:54:22 得分 0
如果一个页面会有100人访问,该页面就静态吧!
否则没有必要!Top
13 楼bomb_boy(梦之星)回复于 2005-08-18 13:57:25 得分 0
楼上的错误,在服务器资源上能省就要省.
生成静态冲其量当时花2个人的服务器开销,但后续开销非常小.
动态页面就不一样,人越多开销越来越大了.Top
14 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-18 14:04:18 得分 0
我也知道生成html能省服务器资源,速度更快,
我想知道有没有必要的问题,网站访问量不是特别特别大的话,我觉得没有必要吧
可以胜任asp.net的缓存技术呀,这样可以减缓数据库的压力吧Top
15 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 14:32:04 得分 80
你可以直接用个工具把网站整个保存下来,然后装在服务器上去试验。注意,绝对不能在局域网里试验,一定要在外部互联网上,最好跨省访问。另外,你要看看服务器在有压力,或者安装的服务比较多的时候,数据库部分会不会出现性能问题。
我上面说的静态网页与动态网页的速度感觉上差3倍是保守的,肯定更高。
在局域网络测试网站性能其实很可笑的。
但是我开发网站的话,我大概会力主asp.net缓存方案。尽管这比静态页面方式总体性能肯定会慢,但这是性价比最好、灵活性最好的方案。Top
16 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 14:37:12 得分 0
你最好也做个静态网页解决方案。这只需要重载page的render方法,写上十几行代码就足够了。如果你的页面都有共同的父类,那么最多花半天的工作量,只要你考虑清楚,编码很容易。Top
17 楼ddboy(留言版版主)回复于 2005-08-18 15:02:51 得分 0
生成html有利于网页在搜索引擎中的排名,这不是性能的问题
Top
18 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-18 15:33:05 得分 0
做成html,asp也完全可以胜任.Top
19 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 15:45:02 得分 0
绝对地说aspx不能好好地“在搜索引擎中”排名,我还是头一次听说。通常都是说经常动态改变内容的aspx不利于排名(可是这其实也不需要排名),还没有听说只要是 aspx就不利于排名的。如果真如此,那么 cgi的,以及其他工具开发的网页,或者仅仅是把后缀htm改个名字的,就排不了名了吗?Top
20 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 15:46:45 得分 0
另外,如果楼主的公司如果真的是为了排名,自然会明说,用不着遮掩。Top
21 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 16:01:52 得分 0
我来提示一下怎样输出html,写全代码实在太累,这里我只讲一下方法。
看一下继承page之后的重载render的定义(实际上任何控件都一样),
Protected Overridable Sub Render(ByVal writer As HtmlTextWriter)
你只要先是实例化一个自己的HtmlTextWriter,例如名字叫做myHtml,然后调用
mybase.render(myHtml)
就获得了整个html,然后保存成本地html文件待用,然后重定向到这个文件。
每一次,aspx在获得访问的时候,首先判断这个本地html文件是否存在,存在则直接重定向到它,否则才会继续执行,也就自然后再次执行render。Top
22 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-18 16:11:24 得分 0
谢谢 sp1234(闲着没事做真是很烦)
你说的办法我也想过,这样我可省很多事,
跟老板说过,但老板固执,他不要重定向.就要直接指向html文件,Top
23 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-18 16:13:51 得分 0
用过动感下载系统吗,他就要做成那个样子,
晕,他干嘛还要用asp.net做,难道会更酷一点?Top
24 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 16:39:00 得分 0
当一篇文章的某个部分(例如标题、或者发布日期)修改了之后,反推出哪些(几百个)页面需要重新生成,这是很困难的,也是不准确的。
爬行所有链接,全都访问一便,把链接中的aspx改名为html,这对大型网站简直是浪费。
不根据客户的喜好和登录信息来显示,这可以理解。网页上不设计一点动态内容,例如时间、天气、股票、公告等等,不可想象还有什么好的。
如果你的老板不喜欢动态生成html,我也只能只能说不喜欢他!Top
25 楼imoyo(草尚菲)回复于 2005-08-18 16:45:30 得分 0
sp1234(闲着没事做真是很烦)
您说的这个具体方法怎么做。能帮我讲讲吗。
qq:3491858
Top
26 楼Ewate(北方的“狼”!)回复于 2005-08-18 17:06:04 得分 0
能用静态的地方 一定要用静态,没办法的时候再想asp.net的逻辑处理吧Top
27 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 17:08:03 得分 0
protected override void Render(HtmlTextWriter writer) {
StreamWriter r=new StreamWriter(Server.MapPath(StaticFileName),
false,System.Text.Encoding.UTF8); //StaticFileName是html文件名
HtmlTextWriter h=new HtmlTextWriter(r);
base.Render(h);
r.Close();
h.Close();
Response.Redirect(StaticFileName);
}
然后在同一aspx的pageLoad事件中判断StaticFileName是否已经存在,如果存在,就应该直接转向,不应该继续生成页面了。Top
28 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-08-18 17:12:50 得分 0
我们大家都知道使用汇编语言运行速度快,怎么大家不去用汇编语言开发应用呢?
其实一切都需要权衡利弊,不一定只采用极端的做法。静态网站只要避开最麻烦的读取数据库问题,就很好了。使用 asp.net做一个http处理没什么不好,否则干嘛不连 iis 或者其他web服务也一块避开呢?Top
29 楼adandelion(水源是CSDN最黑的地方,但这个最黑是CSDN一手制造的!)回复于 2005-08-18 17:12:55 得分 0
GZTop
30 楼dapanda()回复于 2005-08-18 17:34:09 得分 0
学习Top
31 楼acewang(龍芯*Inside!)回复于 2005-08-18 19:18:56 得分 0
我这6台Web服务器两组负载平衡,页面aspx使用缓存,流量跑进alexa300的时候网站运行正常.Top
32 楼Toti(连自己都承认不行,还有什么话好说!)回复于 2005-08-18 19:44:46 得分 0
有些老板就那样变态Top
33 楼lionelwy(顺)回复于 2005-08-18 19:55:40 得分 0
学习Top
34 楼lookby2(酷猫俱乐部www.komao.com)回复于 2005-08-18 23:46:56 得分 0
具体没测试过,但是论坛这种数量变化比较大的系统还是生成静态页面好点,aspx的缓存好像不太好用了,
可以一起讨论一下:QQ 5914140Top
35 楼lnsyldz(飞天)回复于 2005-08-19 01:25:49 得分 0
见意,静态页面与页面缓存结合.首先,ASP.NET页面缓存技术,主要应用条件为,参数不经常改变的时候可以应用,会提高系统速度,减轻服务器数据库负载,与静态页相比优势在于减少物理磁盘读写次数,对程序运行速度有很大提高.如果调用参数和内容更新频率较高,因为页面缓存会跟据每次参数变化而生成新的组件实例,不但不对提高系统速度,反而会大量消耗系统内存.Top
36 楼jyk(今天由我来写的代码,明天就让程序自己完成!喜欢编程。和气生财。共同提高。共同进步!)回复于 2005-08-19 08:10:38 得分 0
老板又不欠你工资,让你做什么你就做什么呗!
方向错了有他顶着呢,有不找你算帐。
但是你现在不满足他的要求,那就有你看到了。
程序员的通病:总是考虑运行效率、占用资源了什么的。
首要的是:实现要求,只要不会把服务器累死就行。
Top
37 楼yynice(小楼听雨)回复于 2005-08-19 08:29:20 得分 0
学习。。。Top
38 楼coffeewar(苦咖啡)回复于 2005-08-19 08:54:30 得分 0
如果实在不想做的话,干脆骗骗你老板算了。用URL重定向吧,在 iis的应用程序配置里把扩展名为 .htm或 .html 只要你老板认为是静态映射到aspnet_isapi.dll ISAPI 扩展。然后在 web.config 里添加 类似的<!--
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter"
name="ModuleRewriter" />
</httpModules>
-->
<!--
<httpHandlers>
<add verb="*" path="*.aspx"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
-->
任选其一
看看http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx
Top
39 楼pwqzc(吴旗娃徒也~~老鼠粮仓之路)回复于 2005-08-19 08:57:05 得分 0
学习:
sp1234(闲着没事做真是很烦)
我的QQ是156840268
可以一聊么?
应该叫请教Top
40 楼qingyun1020(星期零)回复于 2005-08-19 09:05:00 得分 0
服务器压力大,并且要求速度时是可以考虑生成htm页的Top
41 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-19 14:51:02 得分 0
upTop
42 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-08-19 19:00:49 得分 0
sp1234(闲着没事做真是很烦),大虾,好强Top




