网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 网站建设知识> .net快速生成静态网页的方法一

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

2015-1-31 10:51:25 独占网络 网站建设知识
一般用.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="@index@" testvalue="1" testmodel="=" --> 
<li><a href="/zhishi/112109.html"><img rel="" src=""/></a></li>
<!--else-->
<li><a href="/zhishi/112109.html"><img rel="" 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快速生成静态网页的方法二
始终专注高端网站建设服务 网站建设案例服务方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗区横岗街道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服务经验自主开发后台CMS开发项目不外包无隐形收费

服务198家上市企业服务行业龙头超过70家 营销型网站建设完备的项目流程管理体系网页设计与网站开发技术并重

关于独占网络

十多年来,凭借对设计的深刻理解,对互联网营销趋势的敏锐洞察,独占网络不断修正服务导向,完善创作品格,始终注重专业探索,为所有合作企业机构全力以赴,确保网站的视觉体验与营销转化能力。

我们是一群对互联网抱有执着信念的技术控。从2012年到现在,公司从未建过强大的营销团队,却凭着作品与服务不断保持增长,做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,为企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队为您提供深圳网站建设、深圳网站制作、深圳营销型网站建设、外贸网站建设等服务,深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科技有限公司 |备案号:粤ICP备15007128| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有
Hi,Are you ready? 如果您有意向
请于我们取得联系。

有一个互联网项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗区横岗地铁D出口联旺大厦5楼
大客户专线:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我们为您提供什么服务?