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>
一般处理程序页面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); }
类PageHelper
//读取文件字符串 public static string ReadFile(string strPath) { return System.IO.File.ReadAllText(strPath); }
四、asp.net框架简易流程
-------------------------------------------------------------------------------------------------------------------------------------------
软谋在线教育,最适合大学生、上班族的在线软件培训,主要教授asp.net动态网站制作,yy教育房间远程实时授课,每节课录制成高清视频课后分享,老师白天八小时全职在线辅导,不懂就问。加qq群:138800420 即可免费试听。