none
C# 生成的静态页,能不能不以文件形式存在? RRS feed

  • 问题

  • 生成静态页时,会使用模板页,然后产生一个新页面文件

    但是根据用户的不同需求,生成的静态页岂不是要不停增加,这样不就会占用服务器空间啦,改怎么办呢?

    2010年3月29日 8:57

答案

  • 可以考虑一下这种设计,当一个页面需要被发布的时候,在数据库里为这个页面新成一条记录,记录里保存如下几个字段:ID,栏目,字段名,静态页面地址,根据这种设计可以把用户的请求重定向到一个地址,当然,这个地址需要有一个真实的页面文件存在,也就是事先需要生成好,这样每个页面都有一个独立的记录来保存真实的文件,就不会重复生成HTML页面文件了。

    通过以上的设计可以减轻Web服务器的压力,因为每次不用重生新成HTML页面了,不过数据库访问会比较频繁,所以可以在以上设计的基础上,可以再在Web服务器里保存一份页面数据表内容的copy,然后每隔几分钟就与数据库里的数据表同步一下,当然做数据表内容的同步,很多技术都可以做的到,我这里就不写了,这样客户端每次请求的时候Web服务器给客户端的响应结果就是让客户端重定向到真实的Web页面地址,这个地址可以是在另外的Web服务器上。这个过程就好比,A去B家拿东西,B告诉A,你的东西在C家那里,你去拿吧,逻辑很简单。

    • 已建议为答案 小思想 2010年3月30日 1:54
    • 已标记为答案 NewJoin 2010年3月30日 8:21
    2010年3月30日 1:52

全部回复

  • 可以考虑一下这种设计,当一个页面需要被发布的时候,在数据库里为这个页面新成一条记录,记录里保存如下几个字段:ID,栏目,字段名,静态页面地址,根据这种设计可以把用户的请求重定向到一个地址,当然,这个地址需要有一个真实的页面文件存在,也就是事先需要生成好,这样每个页面都有一个独立的记录来保存真实的文件,就不会重复生成HTML页面文件了。

    通过以上的设计可以减轻Web服务器的压力,因为每次不用重生新成HTML页面了,不过数据库访问会比较频繁,所以可以在以上设计的基础上,可以再在Web服务器里保存一份页面数据表内容的copy,然后每隔几分钟就与数据库里的数据表同步一下,当然做数据表内容的同步,很多技术都可以做的到,我这里就不写了,这样客户端每次请求的时候Web服务器给客户端的响应结果就是让客户端重定向到真实的Web页面地址,这个地址可以是在另外的Web服务器上。这个过程就好比,A去B家拿东西,B告诉A,你的东西在C家那里,你去拿吧,逻辑很简单。

    • 已建议为答案 小思想 2010年3月30日 1:54
    • 已标记为答案 NewJoin 2010年3月30日 8:21
    2010年3月30日 1:52
  • 你好!

    制定不同的模板来满足不同用户的需求,修改时使用新的模板重新生成一次(覆盖或删除旧的内容)。还可以使用一部分静态一部分动态的方式,将容易变化的部分在动态页面中实现。


    知识改变命运,奋斗成就人生!
    2010年3月30日 1:55
    版主