asp.net服务器页面处理过程

一、静态页面、动态页面区别

静态页面是服务端直接从硬盘里面读取然后发回去,动态页面就要创建这个页面类的对象,调用对象的方法,方法里面什么就发回什么。浏览器请求asp.net页面实际是请求asp.net页面类的PR方法。

二、请求流程

iis自己是没法处理动态页面的,必须交给asp.net框架来处理,iis就会判断页面的后缀(iis的处理程序映射里面处理),如果是静态的,它就自己处理。动态的文件,交给aspnet_isapi.dll处理,然后将请求交给asp.net框架中的ISAPIRuntime类处理。(此为经典模式,即通过后缀将动态页面交给.net框架处理,iis7.0开始,有集成模式,将.net框架集成到了iis里面)

三、做一个简单的模版

静态页First.html (样式略)

<table>

<tr>

<th>班级Id</th>

<th>班级名称</th>

</tr>

{@trs}

</table>
View Code

一般处理程序页面List.ashx

public void RrocessRequest(httpContext context)

{

    context.Response.ContentType="text/html";

    DataTable dt=DbHelperSQL.GetDataTable("select top 10 * from Classes");//获取过程略

    StringBuilder sbTrs=new StringBuilder();

    //找到列表模版的物理路径

    string strPhyPath=context.Server.MapPath("First.html");

    //读取列表模版页面内容(html)

    string strFile=PageHelper.ReadFile(strPhyPath);

    //遍历表格行,生成html表格行

    for(int i=0;i<dt.Rows.Count;i++)

    {

       //省略

    }

    strFile=strFile.Replace("{@trs}",sbTrs.ToString());

    context.Response.Write(strFile);

}
View Code

类PageHelper

//读取文件字符串

public static string ReadFile(string strPath)

{

  return System.IO.File.ReadAllText(strPath);

}
View Code

四、asp.net框架简易流程

-------------------------------------------------------------------------------------------------------------------------------------------

软谋在线教育,最适合大学生、上班族的在线软件培训,主要教授asp.net动态网站制作,yy教育房间远程实时授课,每节课录制成高清视频课后分享,老师白天八小时全职在线辅导,不懂就问。加qq群:138800420 即可免费试听。

 

posted @ 2014-03-09 21:03  蜡笔小新111  阅读(781)  评论(1编辑  收藏  举报