网站中有很多个大概几十万新闻索引列表文件原来是?pageid=参数实现(而且每添加一条新闻,所有相关的新闻索引列表都会改变),原来在ASPX中采用GRIDVIEW在IE客户端生成html来显示,现在想把这些新闻列表写入到静态HTML文件中。如果用IIS,抓取网页生成静态页面(不想采用)
因为时间太长,而且会消耗服务器的资源,在特殊情况下,导致其他用户浏览出现500错误不想用静态模板,然后采用替换特殊字符串的方式写入硬盘生成网页,因为新闻索引页的各个显示位置经常变化,再经常更改静态模版太麻烦。所以要求:不想用IIS,gridview控件的内容怎么能生成HTML代码(一个控件的原理明白了,其他的我想应该是同理就能解决)谢谢大家。

解决方案 »

  1.   

    在添加新闻的时候生成html.
      

  2.   

    最好也不要采用数据源的数据循环生成表格HTML的方法,因为如果新闻索引页变动图片和位置,我的数据循环程序有的还需要重写太麻烦,我希望利用ASPX原页面代码和页面参数(但是不用IIS)就能生成对应的HTML代码。要求有点特殊,见谅。
      

  3.   

    添加新闻的时候去访问某个aspx页面将访问结果生成html放在web服务器上.
    这个aspx对外是不公开的.
    或者做相关权限配置.
      

  4.   

    生成静态单个新闻的逻辑还好弄清楚,这里就不说了。但是生成这么些新闻的TITLE列表文件就不大好弄了。我也知道,每天加一条新闻,这么多的新闻TITLE列表就需要重新生成,非常浪费时间,但是有没有什么比较好的解决办法。请大家帮忙,我相信对于其他人这个问题的答案也会有用。
      

  5.   

    如果用IIS主要是消耗的资源太多,相当于一小段时间要访问1万个页面(否则用IIS是最好的办法),服务器承受不过来,会导致这个服务器上其他的浏览用户访问太慢。
      

  6.   

    如果是用模版,因为样式不同的网页太多,现在说的只是其中一个网页,都用模版然后用特殊字符串替换太麻烦。动网新闻他的模版就是带有c#源码的ASPX网页,不用特殊字符串来替换。不知道他是怎么解决生成新闻静态网页的?唉都是搜索引擎搞得,其实用.net技术编写多好,非要用HTML,否则也没有这些麻烦。
      

  7.   

    或者用xml+xsl.不过这也要写多个xsl文件.另外,你可把iis架在另一台内部服务器上.
      

  8.   

    你可把iis架在另一台内部服务器上  ^_^ 资金紧张,不大可能重写多个XSL与多个HTML大概效率差不多,但是也是一个变通的方法。谢谢你的回答。
      

  9.   

    可以参考:http://www.google.com/search?hl=zh-CN&newwindow=1&rls=com.microsoft%3Aen-US&q=base.render+htmltextwriter+html%E6%96%87%E4%BB%B6&btnG=Google+%E6%90%9C%E7%B4%A2&lr=lang_zh-CN%7Clang_zh-TW不过,你要先理解页面缓冲等方法,以免以偏概全。
      

  10.   

    谢谢sp1234
    我先看你写的网址学习一下。总觉得,动不动就生成几万个静态页面,与理有点说不通。服务器再有资源也不能这么浪费
    (况且添加信息多的时候,一个小时要生成几百遍这个几万页的TITLE列表,更不合适)。要不就单个的新闻采用动态生成的静态HTML网页,新闻的TITLE列表用ASPX来实现。
    暂时是这个想法,有高手再帮一下,等会结帖。
      

  11.   

    最后想法 单个的新闻采用动态生成的静态HTML网页,新闻的TITLE列表用ASPX来实现谢谢大家的帮忙,现在结帖,马上给分。