30岁菜鸟涛学习VB.net 第六天
时间:2011-04-21 来源:秦涛
Wonderful。
已经是第6天了,今天goal:开始vb.net的web开发之旅。
先献上前5天,做的winForm的例子,使用了Nhibernate。菜鸟涛前5天写的代码
关于ASP.net的概念:请查看http://www.cnblogs.com/artech/archive/2007/09/13/891262.html的文章,描述的非常好。
MS的asp.net web开发有别于传统的web开发,asp.net有些很关键的概念就是“代码后置,界面和代码分离”和“事件驱动”以及“组件开发”。这和C/S的开发模式很类似。但web开发其服务器是必不可少滴。微软的web服务器是IIS,这点很不爽,绑定的太死了。如果想用一些开源的服务器的话,还要经过一番折腾....这里就不折腾了。
整理asp.net的url请求过程 :
1.解析URL,URL被web服务器(inetinfo.exe)解析 ,其会解析该url后缀,然后根据该后缀,IIS来决定调用那个具体的DLL。如xxx.aspx时,就会调用aspnet_isapi.dll。
2.上述的DLL又会去调用3wp.exe ,然后3wp.exe去具体调用.net framework的类库去具体操作。
这些调用.net framework的类库的顺序:
ISAPIRuntime-->HttpRuntime-->HttpApplicationFactory-->HttpApplication-->HttpModule--HttpHandlerFactory-->HttpHandle。
现在一个一个的解释下上述类库的作用
ISAPIRuntime: 简单理解就是接收Request传送过来的数据,会把数据封装成HttpWorkerRequest对象。然后去通知HttpRuntime。
HttpRuntime:简单理解ASP.NET HTTP 管线的开关,就是IIS 所收到的对某 Microsoft ASP.NET 页面的每个请求都被移交给 ASP.NET HTTP 管线,这个过程就是实例化HttpRuntime的过程。根据HttpWorkerRequest对象生成HttpContext,HttpContext包含request、response等属性, 再调用HttpApplicationFactory。
HttpApplicationFactory :