.net快速生成静态网页的方法一

一般用.net生成静态化网页方法有两种,一般是通过浏览器去触发动态的.aspx文件来达到解析网页,然后再生成网页,这种方法我们不用(因为这种方法需要浪费比较大的服务器性能,而且速度比较慢,一秒大概只能生成10个网页左右),所以我们今天要讲的是第二种方法,写一个网页模板,然后再用.net去解析标签,然后以完成这一个生成网页静态化功能(独占网络(http://www.sz886.com)-深圳网站建设-http://www.sz886.com技术人员测试过1秒可以生成100多个网页,性能非常好而且稳定,如果在开启多线程的情况,用户体验效果也非常好。)
?
首先我们生成网页化网页需要用到的技术就有I/O流的文件读写,然后我们再会用到正则表达式去解析标签,最多我们再用多线程去保证稳定还有速度。

首先我们建立一个叫duzhan.html(主文件),还有一个top.html(头部文件)
我们在头部文件里面写信息如下:
这是网页的头部文件,头部文件来源了深圳市独占网络科技有限公司(http://www.sz886.com)
然后我们写入duzhan.html(主文件)的代码是
<!doctype html>
<html>
<head>  
</head> 
//这是要解析的头文件,刚才是上面的我们写的Top.html文件
<!--include file="Top.html" /-->
//这是一个循环的解析标签,我们下面会用到,我们这里先写在这里
<!--list table="1" typeid="1"  num="10" where=" 1=1 " order="sortid asc,id asc" --> 
//这是一个判断的标签,我们这里也是先写在这里,下面会讲到  
<!--if testbase="@[email protected]" testvalue="1" testmodel="=" --> 
<li><a href="@[email protected]"><img rel="@[email protected]" src="@[email protected]"/></a></li>
<!--else-->
<li><a href="@[email protected]"><img rel="@[email protected]" src=""/></a></li>
<!--/if-->   
<!--/list-->  
</body>
</html>
现在我们已经把两个网页的模板写好了,接下面我们就是要解析好我们写的标签,然后去生成它。
首先我们建一个CreateFile.cs文件来放置读写文件的方法。
//这是一个创建新静态页面信息,newsStrWebInfo是一个传入我们传入的参数(用于替换原有的信息)
public static string CreateSingleFile(string strModeFilePath)
{
//创建一个读文件信息的文件流
StreamReader strReader = null;
//查找出模块文件在服务器里面的路径,这里不用Server.MapPath,在多线程的时候会有问题
string FilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory) + strModeFilePath;
//怎样一个编号为Utf-8的信息
Encoding code = Encoding.GetEncoding("utf-8");
//创建一个strAllInfo字符串用于存放我们读取的信息
string strAllInfo = string.Empty;
try
{
 //得到一个读取的文件流,文件路径为FilePath,编码为code
 strReader = new StreamReader(FilePath, code);
//读取文件流里面的全部信息然后存放在strAllInfo里面去
strAllInfo = strReader.ReadToEnd();              
}
catch (Exception ex)
{
throw ex;
} finally
{  //关闭读取文件流
  strReader.Close();
}
 return strAllInfo;
}
 然后我们再写一个入的方法。
 public bool CreateWriteFile(string strNewsFilePath, string strFileinfo)
 {
   bool flag = false;
  //创建一个写文件信息的文件流
   StreamWriter strWrite = null;
  //怎样一个编号为Utf-8的信息
  Encoding code = Encoding.GetEncoding("utf-8");
  try
   {  //创建一个写入文件流
      strWrite = new StreamWriter(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory) + strNewsFilePath, false, code);
      //将刚才记取到的信息写入到文件流里面去
       strWrite.Write(strFileinfo);
       //创建成功就true
       flag = true;
      }catch (Exception ex)
      {
                throw ex;
      } finally
        {  strWrite.Flush();
           //关闭文件流
          strWrite.Close();
 }
  return flag;
}
 上面的定义了读取的模板还有生成模板的方法了,我们接下来就是建立一个解析标签的方法。
 我们就建立一个 DuZhanTag.cs文件
 我们建立一个生成网页的方法
 public void createDefault(string htmlpath, string filename)
 {
 //将我们刚才写的duzhan.html文件路径写进去然后读取到信息
 string html = CreateFile.CreateSingleFile(htmlpath);
 //如果读取的信息没有读取到信息我们就返回回去。
  if (string.IsNullOrEmpty(html))
 {  return; }
   //解析我们的标签,这个方法我们在下面定义。
    html=CreateIncludeHtml(strAllInfo);
   //生成文件
   new CreateFile().CreateWriteFile(filename, html);
}

由于网页放不下,所以我们把下面的方法写在 .net快速生成静态网页的方法二 http://www.sz886.com/zhishi/112110.html

时间: 2024-08-04 14:37:03

.net快速生成静态网页的方法一的相关文章

Freemarker入门小案例(生成静态网页的其中一种方式)

其实生成静态网页的方式有好多种,我昨天看了一下,Freemarker是其中一种,但是Freemarker现在我们都用得比较少了,现在用得ActiveMQ用来发送信息到静态页面,不过想了一下这个小东西,还是想给大家分享一下,我的小小心得. 若项目为Maven项目,那么可以如下 在Pom.xml文件里面添加 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</arti

原理与示例:php+mysql+jquery 生成静态网页(含后台编辑功能)

从Web的工作原理来看,用户访问HTML所带来的服务器负载要远小于访问动态页面,因为在前者中,服务器只用把对应的html代码发送给客户端即可,而在后者中,服务器则需要根据访问条件进行一系列的计算,然后生成html代码,最后把运算结果代码发送给客户端. 所以,对于访问量较大的宣传式网站(比如新闻类),要尽可能地使用静态页面. 另一方面,我们不可能让网站编辑人员来一个一个地手工制作这些HTML,那样就是回到多年前的纯静态时代了.我们可以用动态语言来方便.快捷地生成这些静态网页.而且,目前这一技术已经

用ps切片快速制作静态网页

利用ps快速的制作静态网页 步骤: 1.在ps中打开一个网页模板,利用切片工具进行剪裁 2存储方式是:存储为web所用格式 3设置存储像素1366.GIF格式 4保存到文件夹中以html+图像 的格式 5打开html,打开方式为DW方式打开 6:根据网页在进行对其修改

PHP生成静态网页的方法

看到很多朋友在各个地方发帖问PHP生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考.兄弟连PHP培训先带大家回顾一些基本的概念. 一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的

Asp.net生成静态网页的实现代码

现在做程序都要将动态的页面转换成静态页面,今天教大家在ASP.NET 中实现静态页面的生成方法. using System;  using System.Data;  using System.Configuration;  using System.Web;  using System.Web.Security;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.UI.WebControls.We

PHP代码为什么不能直接保存HTML文件——&gt;PHP生成静态页面教程

1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件,这样反而会降低运行效率. 3.如果是需要PHP控制HTML代码的输出,比如需要PHP判断用户是否登陆,如果登陆则输出A,未登录则输出B.这就需要PHP来进行控制了.HTML不能实现这样的功能 PHP生成静态页面教程 ,一些基本的概念 一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可

比较详细PHP生成静态页面教程

一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的PHP解析器对 脚本进行解析形成HTML语言形式 ----> 将解析后的HTML语句以包的方式传回给浏览器.由此不难看出,在页面发送到浏览器后,P

使用apidocJs快速生成在线文档

apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和JavaScript等.使用者仅需要按照要求书写相关注释,就可以生成可读性好.界面美观的在线接口文档.本文主要包含以下内容: 介绍apidoc的基本概念 安装.使用和简单配置 一些特殊参数的含义及其使用 介绍一些使用经验 前言 apidoc能做什么 apidoc是一个轻量级的在线REST接口文档生成系统,可以根据其特定的规则的代码注释来生成静态网页.首先看下它生成的文档界面和风格. 支持 a

动态网页和静态网页的区别

一.从功能方面来说动态网站与静态网站的区别 1. 动态网站可以实现静态网站所实现不了的功能,比方说:聊天室.论坛.音乐播放.浏览器.搜索等:而静态的网站则实现不了.2. 静态网站,如用Frontpage或Dreamweaver开发出来的网站,其源代码是完全公开的,任何浏览者都可以非常轻松地得到其源代码,也就是说,自己设计出来的东西很容易被别人盗用.动态网站,如:ASP开发出来的网站,虽然浏览者也可以看到其源代码,但是那已经是转换过以后的代码,想盗用源代码那是不可能的,因为它的源代码已经放在服务器