SlideShare a Scribd company logo
1 of 5
Download to read offline
dd
    uu
  为程序员打杂的站长




                                                                                人生的真正价值在于从何种程度与何种意义
博客园   首页   新随笔   联系   管理   订阅                       随笔- 992 文章- 236 评论- 19537   上摆脱自我!
                                                                                               爱因斯坦
                                                                                                我的最新闪存
ASP.NET 2.0运行时简要分析                                                              精简了博客后台编辑器按钮。 3-25 21:37

概述:
   本文基于ASP.NET 2.0的源代码,对ASP.NET 2.0运行时进行了简要的分析,希望能帮助你理解ASP.NET
2.0中请求处理过程及页面编译模型。
                                                                                     常用链接
关键字:
  ASP.NET 2.0运行时,原理,请求处理,页面编译,ASP.NET 2.0 HTTP Runtime                          我的随笔
                                                                                我的小组
主要类:                                                                            我的闪存
  System.Web.HttpRuntime                                                        我的好友
  System.Web.HttpApplicationFactory                                             更多链接
  System.Web.HttpApplication
  System.Web.Compilation.BuildManager
  System.Web.Compilation.ApplicationBuildProvider
                                                                                     留言簿
  System.Web.Compilation.BuildProvidersCompiler                                 给我留言
  System.Web.UI.PageHandlerFactory                                              查看留言

请求处理简要流程图:
                                                                                     我管理的小组
                                                                                程序员音乐空间
                                                                                创业交流
                                                                                LumaQQ.NET
                                                                                博客园上海俱乐部
                                                                                英语听力
                                                                                Web技术联盟
                                                                                博客文摘



                                                                                     我参加的小组
                                                                                读书(Books)
                                                                                web标准设计
                                                                                ASP.NET
                                                                                你必须知道的.NET
                                                                                08欧锦赛
                                                                                Visual Studio
                                                                                博皮小组
                                                                                Debug 探索团队小组
                                                                                设计师之家
                                                                                ubuntu



                                                                                     我参与的团队
                                                                                Design & Pattern团队(0/699)
                                                                                SharePoint团队(0/612)
                                                                                .NET新手training活动(0/428)
                                                                                上海.NET俱乐部(0/1874)
                                                                                北京.NET俱乐部(0/927)
                                                                                MVP团队(0/367)
                                                                                博客园NBear团队(0/48)
                                                                                博客园创业者(0/19)
                                                                                Debug 探索团队(0/15)



                                                                                     随笔分类
                                                                                ASP.NET 1.1(14) (rss)
                                                                                ASP.NET 2.0(13) (rss)
                                                                                C#(14) (rss)
阅读建议:                                                                                      SharePoint(17) (rss)
  用Reflector工具边查看ASP.NET 2.0的源代码边阅读。                                                       VS2005(8) (rss)
                                                                                           WCF(1) (rss)
分析:                                                                                        博客系统开发(1) (rss)
    当我们通过浏览器向ASP.NET 2.0网站的一个asp.net页面发起请求时,在服务器端首先是IIS收到请求,IIS                            博客园活动(1) (rss)
一看是asp.net页面,心里很开心,因为这个请求不用它处理,交给ASP.NET ISAPI就行了。ASP.NET ISAPI的工                          创业(6) (rss)
                                                                                           电脑使用经验(19) (rss)
作也比较轻松,他的主要任务就是安排aspnet_wp.exe处理请求,并监视aspnet_wp.exe进程的执行情况,如果a
                                                                                           开源(5) (rss)
spnet_wp.exe进程太累了,不能出色地完成任务,ASP.NET ISAPI就要让他下岗,换一个新的aspnet_wp.exe
                                                                                           媒体报道(3) (rss)
来处理工作。
                                                                                           生活随笔(4) (rss)
   aspnet_wp.exe的主要任务是将请求交给一系列称为的 HTTP 管道的托管对象。如果把ASP.NET ISAPI比做
                                                                                           书籍(1) (rss)
销售经理,那aspnet_wp.exe就是生产经理,而HTTP 管道就是生产的流水线。负责流水线的小组就是HttpRunti
                                                                                           数据库技术(3) (rss)
me,生产经理aspnet_wp.exe会将订单(HTTP请求)交给HttpRuntime小组的工作人员ProcessRequest(HttpW                   网站功能发布(70) (rss)
orkerRequest wr),HttpRuntime根据内部的分工,最终由ProcessRequestInternal(HttpWorkerRequest w          网站管理(164) (rss)
r)在流水线上进行生产,所以ProcessRequestInternal(HttpWorkerRequest wr)是我们分析的重点。                        网站性能优化(4) (rss)

 ProcessRequestInternal的主要工作是:
1. 创建HttpContext实例。                                                                             随笔档案
                                                                                           2008年3月 (14)
2. 对第一次请求进行初始化(EnsureFirstRequestInit)。
                                                                                           2008年2月 (7)
a) 在EnsureFirstRequestInit中通过调用System.Web.HttpRuntime.FirstRequestInit进行一些初始化工作,
                                                                                           2008年1月 (9)
比如:将Web.Config配置读到到RuntimeConfig中,从bin目录中装载所有dll文件。                                        2007年12月 (11)
                                                                                           2007年11月 (12)
3. 创建HttpWriter实例。                                                                         2007年10月 (13)
                                                                                           2007年9月 (7)
4. 通过调用HttpApplicationFactory.GetApplicationInstance创建HttpApplication实例。                   2007年8月 (14)
在HttpApplicationFactory.GetApplicationInstance中有三个关键方法:                                    2007年7月 (16)
HttpApplicationFactory._theApplicationFactory.EnsureInited();                              2007年6月 (13)
HttpApplicationFactory._theApplicationFactory.EnsureAppStartCalled(context);               2007年5月 (11)
HttpApplicationFactory._theApplicationFactory.GetNormalApplicationInstance(context);       2007年4月 (6)
                                                                                           2007年3月 (14)
下面我们对这三个方法逐个进行分析:                                                                          2007年2月 (12)
1) HttpApplicationFactory._theApplicationFactory.EnsureInited();                           2007年1月 (15)
   该方法检查HttpApplicationFactory是否被初始化,如果没有,就通过HttpApplicationFactory.Init()进行初              2006年12月 (18)
始化。                                                                                        2006年11月 (26)
在Init()中,先获取global.asax文件的完整路径,然后调用CompileApplication()对global.asax进行编译。                   2006年10月 (20)
那编译是如何进行的呢?                                                                                2006年9月 (18)
   编译的工作由BuildManager完成的。BuildManager先得到GlobalAsaxType(也就是HttpApplication),然               2006年8月 (23)
后调用BuildManager.GetGlobalAsaxBuildResult()=》GetGlobalAsaxBuildResultInternal()=》Ensur      2006年7月 (17)

eTopLevelFilesCompiled()进行编译。                                                              2006年6月 (8)
                                                                                           2006年5月 (23)
   在EnsureTopLevelFilesCompiled中,先进行CompilationStage.TopLevelFiles编译,对下面三个目录中的
                                                                                           2006年4月 (10)
文件进行编译:
                                                                                           2006年3月 (16)
a. CompileResourcesDirectory();
                                                                                           2006年2月 (17)
编译App_GlobalResources目录。
                                                                                           2006年1月 (9)
b. CompileWebRefDirectory();                                                               2005年12月 (13)
编译App_WebReferences目录。                                                                     2005年11月 (9)
c. CompileCodeDirectories();                                                               2005年10月 (19)
编译App_Code目录。                                                                              2005年9月 (11)
                                                                                           2005年8月 (24)
   接着进行CompilationStage.GlobalAsax 编译,对global.asax进行编译,方法调用情况:CompileGlobalA
                                                                                           2005年7月 (35)
sax()=》ApplicationBuildProvider.GetGlobalAsaxBuildResult(BuildManager.IsPrecompiledApp)。
                                                                                           2005年6月 (23)
   在GetGlobalAsaxBuildResult中具体的编译是由ApplicationBuildProvider与BuildProvidersCompiler共同      2005年5月 (11)
完成的。                                                                                       2005年4月 (21)
   BuildProvidersCompiler.PerformBuild();进行编译工作。                                           2005年3月 (32)
   ApplicationBuildProvider.GetBuildResult得到编译的结果。                                         2005年2月 (19)
   编译成功后,会在C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET File            2005年1月 (23)
s相应的目录中生成类似App_global.asax.mlgx7n2v.dll的dll文件。                                            2004年12月 (35)
   编译生成的类名为ASP.global_asax,继承自HttpApplication。                                             2004年11月 (24)
注:如果Web目录中没有Global.asax文件,就不会编译生成App_global.asax.mlgx7n2v.dll这样的文件。                        2004年10月 (19)
                                                                                           2004年9月 (25)
2) HttpApplicationFactory._theApplicationFactory.EnsureAppStartCalled(context);            2004年8月 (35)
   创建特定的HttpApplication实例,触发ApplicationOnStart事件,执行ASP.global_asax中的Application_           2004年7月 (30)
Start(object sender, EventArgs e)方法。这里创建的HttpApplication实例在处理完事件后,就被回收。                    2004年6月 (24)
                                                                                           2004年5月 (17)
3) HttpApplicationFactory._theApplicationFactory.GetNormalApplicationInstance(context);    2004年4月 (9)
   该 方法创建HttpApplication实例并进行初始化(调用System.Web.HttpApplication. InitInternal()方法)。          2004年3月 (57)
创建HttpApplication实例是根据实际的_theApplicationType进行创建。如果Web目录中没有global.asa文件,                   2004年2月 (61)
也就是说没有动态编译生成ASP.global_asax类型,那就直接实例化HttpApplication。如果创建了ASP.global_a                     2004年1月 (32)
sax类型,那就对ASP.global_asa进行实例化。

创建HttpApplication实例之后就是调用实例的InitInternal方法。                                                     新闻分类
InitInternal方法也是我们重点分析的方法,该方法的主要功能如下:
                                                                                           创业(17) (rss)
1. InitModules():根据Web.Config的设置,创建相应的HttpModules。
2. HookupEventHandlersForAppplicationAndModules:根据发生的事件,调用HttpApplication实例中相应的
事件处理函数。
                                                                                                   相册
                                                                                           Imagination Festival 2007
3. 创建很多实现IExecutionStep接口的类的实例并添加到当前HttpApplication实例的_execSteps中,等待回调                     TechED 2005
时执行。从这里我们可以看到HttpApplication是以异步的方式处理请求,对请求的很多处理工作都放入了_execSt                              TechEd 2006
ep等待回调时执行。                                                                                 TechEd2007
_execStep中主要的处理工作如下:                                                                       广州沙龙活动
1) 对请求的路径进行安全检查,禁止非法路径访问(ValidatePathExecutionStep)。                                       桌面
2) 如果设置了UrlMappings, 进行RewritePath(UrlMappingsExecutionStep)。
3) 执行事件处理函数,比如:BeginRequest、AuthenticateRequest等等。
4) 获取处理当前请求的HttpHandler,ASP.NET页面的动态编译也是在这里进行的。(MapHandlerExecutionSte                             朋友的博客
p)                                                                                         Allen Lee
该处理是通过调用System.Web.HttpApplication. MapHttpHandler方法。                                      briansun
在MapHttpHandler中,首先根据访问的地址从web.config获取相应的实现IHttpHandlerFactory的类型。对于as                    Bruce Zhang
p.net页面,默认是PageHanlderFactory。然后创建PageHanlderFactory实例,调用GetHandlerHelper,在G               CHUN
etHandlerHelper中调用BuildManager.CreateInstanceFromVirtualPath编译并创建当前请求的ASP.NET页面            Dflying Chen
的实例(如果已经编译过,直接从缓存中加载)。                                                                     FantasySoft
CreateInstanceFromVirtualPath经过几次方法调用,将编译任务给了BuildManager. CompileWebFile()。Co             idior
mpileWebFile从web.config得到相应的BuildProvider,对于.aspx文件,相应的BuildProvider是PageBuildPro          lemeng
vider。PageBuildProvider是如何进行页面编译的,这里就不再就进一步分析了,如果你感兴趣,可以进一步研究                              Pedro Serrano
ASP.NET 2.0的源代码。                                                                           Robert J.T. Yan
5) 调用相应HttpHandler的.ProcessRequest方法处理请求(如果是异步方式,调用BeginProcessReques)。(C                  simonw
allHandlerExecutionStep)                                                                   sulzbach

6) 将响应内容写入Filter。(CallFilterExecutionStep)                                                 Teddy
                                                                                           xuebin
5. 调用HttpApplication实例的BeginProcessRequest异步处理请求。                                          Yeka
   上面所讲的_execSteps中所发生的许多事情,都是在HttpRuntime调用HttpApplication BeginProcessReq                阿诺
uest之后,在BeginProcessRequest中调用ResumeSteps后执行的。                                             怪怪
                                                                                           韩磊
  ASP.NET 2.0运行时是ASP.NET 2.0中非常复杂、难以理解也是很重要的部分,对ASP.NET 2.0运行时源代码                          老燕
的研究有处于我们加深对ASP.NET 2.0原理的理解,会给我们开发ASP.NET 2.0应用程序带来不少帮助。这篇文章                               雷钧随想
是我初次学习ASP.NET 2.0运行时,为了帮助自己更好地理解ASP.NET 2.0运行时而写的,欢迎你对文章内容提出                               临风听暮禅
批评与建议。                                                                                     灵感之源
  我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思路、促进自己深入                                        吕震宇

地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还是很有帮助的。                                           双鱼座
                                                                                           维生素C.net
                                                                                           我是坏女生
                  posted @ 2006-01-14 00:23 dudu 阅读(5472) 评论(15) 编辑 收藏 所属分类: ASP.NET 2.0
                                                                                           心仪



  发表评论                                                                                             网站收藏
 #1楼 2006-01-14 09:17 | 木野狐                                            回复 引用 查看            codeproject
                                                                                           DoNews
                                                                                           dotnet.org.za
     写的很形象,谢谢 dudu. 收藏下来有空慢慢对照源码研究去。                                                       dotnetjunkies.com
                                                                                           joelonsoftware
                                                                                           博客堂
 #2楼 2006-01-14 10:57 | jiangws                                        回复 引用 查看            沪江英语
                                                                                           苹果树下的童话
                                                                                           译言
     写得很好,特别是:我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思
     路、促进自己深入地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还
     是很有帮助的。                                                                                       小组
                                                                                           博客园在facebook
 #3楼 2006-01-14 15:46 | 阳春三月                                           回复 引用 查看
                                                                                           博客园在豆瓣
                                                                                           博客园在沪江
     不错,这个形象很比喻。


     刚开始接触一项新的技术时,尤其是能成               面   或成   体   的显得庞大复杂的新技术,由老师提纲挈领把大框架
                                                                                                   友情链接
     讲解一遍,对学习是非常有帮助的。这样的讲解不用太长,可能几句说到点子上的话就够了,就像本文                             分析
                                                                                           Qihangnet
     部分打比方的那两段,言简意赅,简明扼要,一下子就把 ASP.Net 页面是怎么运行起来的讲透了,而且准确生
                                                                                           捐献时间、分享快乐
     动,颇有些幽默感。希望我们都能写出这样的文字来。


 #4楼 2006-01-14 17:33 | 火星撞地球 [未注册用户]                                  回复 引用 查看                    最新随笔
                                                                                           1. 摘要功能小改进
     被你抢了先了 我正准备也写一篇这样的文章呢 :)                                                              2. 好想好想
                                                                                           3. 欢迎大家推荐对自己最有帮助的技术图
                                                                                           书
 #5楼 2006-01-17 13:16 | A.Z [未注册用户]                                    回复 引用 查看            4. 新模板发布-coffee
                                                                                           5. 博客园博客程序架构设计图初稿
                                                                                           6. 闪存与博客的整合
                                                                                           7. 社区与博客的进一步整合
8. [公告]社区与博客实现了登录整合
                                                                                            9. 程序员音乐空间
     HookupEventHandlersForAppplicationAndModules
                                                                                            10. 耐心
     多了一个p
                                                                                            11. 网速调查
                                                                                            12. 热烈欢迎两位园友加盟
#6楼 [楼主     ]2006-01-17 14:08 | dudu                                       回复 引用 查看
                                                                                            13. 遥远的路
                                                                                            14. 《环球企业家》:鲍尔默的独角戏
                                                                                            15. 聊聊今年的春节联欢晚会
     @A.Z
     源代码中的确就是这样写的。                                                                          16. 祝大家新年快乐
                                                                                            17. [收藏]《观察与思考》:相信中国,寻
                                                                                            找下一个比尔·盖茨
#7楼 2006-07-18 19:25 | xin                                                 回复 引用 查看
                                                                                            18. [建议讨论话题]微软出价446亿美元洽
                                                                                            购雅虎
     你好!我完全看不懂,在这想请你提供点关于这方面的基础学习建意和资料.谢谢!                                                  19. 百度年会
     Email:spsuxin#gmail.com                                                                20. 博客园上海俱乐部第二次活动继续报道


#8楼 2006-11-24 09:20 | g無s所p畏                                              回复 引用 查看              搜索
                                                                                                                            搜索
     要想学好asp.net,我看真得把这些东西搞懂搞透才行



#9楼 2007-01-24 08:46 | 小雨 [未注册用户]                                          回复 引用 查看
                                                                                                 最新评论
                                                                                            1. re: 欢迎大家推荐对自己最有帮助的技
                                                                                            术图书
     我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思路、促进自己深入
                                                                                            书名:《Object-Oriented Analysis and
     地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还是很有帮助的。
                                                                                            Design》作者:Grady Booch, Robert
                                                                                            A. Maksimchuk, Michael W. Engel,
     写的太好了
                                                                                            a... (Anders小明)

#10楼 [TrackBack]2007-03-09 16:30 | daizhj                                  回复 引用 查看         2. re: 好想好想
                                                                                            路过,感受下····· (BirdsHover)

     最近有时间看一些.net的框架代码,发现一个有意思的问题,就是HttpModule中的Init函数下的事件绑定,因为                             3. re: 好想好想
     事件的绑定在事件发生后相应                                                                          感受到春天的气息了。。。 (Anders Cui)
     [引用提示]daizhj引用了该文章, 地址:
                                                                                            4. re: 申请加入博客园创业者团队博客
     http://www.cnblogs.com/daizhj/archive/2007/03/09/669479.html
                                                                                            开始创业哦。一起交流一下
                                                                                            博客园帐户名:lyj
#11楼 [TrackBack]2007-03-09 16:33 | daizhj                                  回复 引用 查看         博客地址: (李永京)

                                                                                            5. re: 摘要功能小改进
     最近有时间看一些.net的框架代码,发现一个有意思的问题,就是HttpModule中的Init函数下的事件绑定,因为                             非常使用的功能哦! (Vitamin_C)
     事件的绑定在事件发生后相应
     [引用提示]daizhj引用了该文章, 地址: http://www.cnblogs.com/daizhj/articles/669479.html             6. re: 好想好想
                                                                                            --引用-----------------------------------
#12楼 2007-05-20 09:25 | sdhjl2000 [未注册用户]                                  回复 引用 查看         ---------------杨正祎(阿一): 文章简介中
                                                                                            图片那么暧昧,还以为老大想像图片中那样
                                                                                            呢。 -_-b....--... (lzppcc)
     dudu语文看来学的不错,比喻很生动!thanks
                                                                                            7. re: 欢迎大家推荐对自己最有帮助的技
                                                                                            术图书
                                                                                            书名:《C# 2.0宝典》作者:张立出版
#13楼 [TrackBack]2007-08-22 20:51 | appledou                                回复 引用 查看
                                                                                            社:电子工业出版社; 书名:《圣殿祭司
                                                                                            的ASP.NET 2.0开发详解            使用C#》作
     Trace:http://www.cnblogs.com/dudu/archive/2006/01/14/317016.html概述:                    者:奚江华 出版社:电子工业出版社 书
     [引用提示]appledou引用了该文章, 地址: http://www.cnblogs.com/txdlf/articles/865971.html            名:《深入浅出设计模式... (侯垒)

                                                                                            8. re: 摘要功能小改进
#14楼 [TrackBack]2007-11-17 23:46 | dyq                                     回复 引用 查看         原来右侧图片是要自己敲代码的啊!
                                                                                            这个功能very nice (随风逝去)

     概述:                                                                                    9. re: 摘要功能小改进
     [引用提示]dyq引用了该文章, 地址:                                                                   很喜欢这个功能 (sekihin)
     http://www.cnblogs.com/yongqiudeng/archive/2007/11/17/962921.html
                                                                                            10. re: 欢迎大家推荐对自己最有帮助的技
                                                                                            术图书
#15楼 2007-12-07 18:05 | 邓林海                                                回复 引用 查看
                                                                                            --引用-----------------------------------
                                                                                            --------------- 杨正祎(阿一): 书名:《精
     顶                                                                                      通css》 作者:Andy Budd 译者:陈剑瓯
                                                                                            出版社... (WOW玩家)


                                                                                   刷新评论列表
                                                                                                 阅读排行榜
标题                                                                                          1. 电脑故障处理经验一则(238639)
            re: ASP.NET 2.0运行时简要分析
                                                                                            2. 电脑故障处理小经验           IE无法打开链接
姓名                                                                                          的处理方法(237398)
                                                                                            3. 10 Golden rules for publishing your
主页                                                                   blog (69793)
                                                                     4. Windows 2000 常见进程功能描述[转
Email                              (只有博主才能看到)                        帖](65605)
                                                                     5. 博客园程序源代码下载(59639)
验证码
                              *                                      6. 新增的MSN图片(52851)
内容(请不要发表任何与政治相关的内容)                                                  7. 在Windows下配置与使用CVSNT(508
                                                                     90)
                                                                     8. 博客园FAQ(39984)
                                                                     9. 网速测试(27146)
                                                                     10. 清除SearchNet.exe(26485)
                                                                     11. 不错的工具:Reflector for .NET (239
                                                                     04)
                                                                     12. 如何实现文本框焦点自动跳转及通过回
                                                                     车键提交表单(21819)
                                                                     13. 安装智能陈桥五笔时请小心(19385)
                                                                     14. 日志文件分析工具          AWStats在IIS中
                                                                     的配置步骤(18774)
                                                                     15. TortoiseCVS比WinCVS好用多了(18
                                                                     753)
c
d
e
g Remember Me?
提交        登录 使用高级评论 新用户注册 返回页首 恢复上次提交
                                                                            评论排行榜
[使用Ctrl+Enter键可以直接提交]
                                                                     1. 电脑故障处理经验一则(1061)
该文被作者在 2006-08-06 16:09 编辑过
                                                                     2. [重要新功能]团队Blog(524)
                                                                     3. 博客园FAQ(382)
历史上的今天:
                                                                     4. [公告]博客园准备建立SharePoint团队
2004-01-14 可以插入图片了
2004-01-14 如何用w.bloggar从桌面发表文章                                       (354)
                                                                     5. 电脑故障处理小经验          IE无法打开链接
                                                                     的处理方法(345)
所属分类的其他文章:
                                                                     6. 10 Golden rules for publishing your
· ASP.NET 2.0 X64的奇怪问题
                                                                     blog (345)
· 博客园Blog程序中又一个奇怪问题
                                                                     7. 博客园程序源代码下载(278)
· 博客园Blog程序遇到的奇怪问题
                                                                     8. 网速测试(226)
· 对ASP.NET 2.0的预编译功能有点不满
                                                                     9. 博客园也Ajax(171)
· 推荐一篇有关Master Pages的文章
                                                                     10. 哪个城市更适合博客园的发展(167)
· 关于 Ambiguous match found”
· [代码示例]如何在ASP.NET中获取随机生成的cookie加密与验证密钥
· 从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题
· ASP.NET 2.0, 想说爱你不容易 在ASP.NET 2.0中开发通配符映射应用程序的一些问题
                                                                            6天内阅读排行
                                                                            0
· [ASP.NET 2.0]PageParser.GetCompiledPageInstance中的一个Bug及解决方法        1. 博客园博客程序架构设计图初稿(4431)
博客园首页 社区                                                             2. 热烈欢迎两位园友加盟(3581)
                                                                     3. 聊聊今年的春节联欢晚会(3507)
                                                                     4. [建议讨论话题]微软出价446亿美元洽购
                                                                     雅虎(3038)
                                                                     5. 欢迎大家推荐对自己最有帮助的技术图
                                                                     书(2846)
                                                                     6. 博客园上海俱乐部第二次活动继续报道
                                                                     (2303)
                                                                     7. 网速调查(2237)
                                                                     8. 新模板发布-coffee(2062)
                                                                     9. 祝大家新年快乐(1996)
                                                                     10. [公告]社区与博客实现了登录整合(19
                                                                     74)
                                                                     11. 闪存与博客的整合(1736)
                                                                     12. 致歉(1607)
                                                                     13. 致歉(1523)
                                                                     14. 社区与博客的进一步整合(1479)
                                                                     15. 《环球企业家》:鲍尔默的独角戏(10
                                                                     91)



                                              Copyright ©2008 dudu

More Related Content

Similar to Asp.Net运行时

从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型裕波 周
 
20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI CafeJustin Lee
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲ArBing Xie
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展taobao.com
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2daoopp
 
程序组介绍Ver2.0
程序组介绍Ver2.0程序组介绍Ver2.0
程序组介绍Ver2.0vtmers2012
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程Souyi Yang
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web FrameworkFred Chien
 
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程Souyi Yang
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofishWebrebuild
 
支付宝CSS构架
支付宝CSS构架支付宝CSS构架
支付宝CSS构架Sofish Lin
 
企业信息系统性能优化实战
企业信息系统性能优化实战企业信息系统性能优化实战
企业信息系统性能优化实战mysqlops
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2twMVC
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 

Similar to Asp.Net运行时 (20)

从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
 
20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe20120524 App開發流程與小工具分享@UI Cafe
20120524 App開發流程與小工具分享@UI Cafe
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
 
淘宝网前端应用与发展
淘宝网前端应用与发展淘宝网前端应用与发展
淘宝网前端应用与发展
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2
 
程序组介绍Ver2.0
程序组介绍Ver2.0程序组介绍Ver2.0
程序组介绍Ver2.0
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程高雄和春資工系-Axure RP基礎課程
高雄和春資工系-Axure RP基礎課程
 
Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web Framework
 
rebar erlang
rebar erlangrebar erlang
rebar erlang
 
HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程HPX台南讀書會-Axure RP基礎課程
HPX台南讀書會-Axure RP基礎課程
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofish
 
支付宝CSS构架
支付宝CSS构架支付宝CSS构架
支付宝CSS构架
 
企业信息系统性能优化实战
企业信息系统性能优化实战企业信息系统性能优化实战
企业信息系统性能优化实战
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
getPDF.aspx
getPDF.aspxgetPDF.aspx
getPDF.aspx
 

More from jason hu 金良胡 (20)

新员工培训
新员工培训新员工培训
新员工培训
 
Javascript 闭包
Javascript 闭包Javascript 闭包
Javascript 闭包
 
Windows Powershell En
Windows Powershell   EnWindows Powershell   En
Windows Powershell En
 
正则表达式
正则表达式正则表达式
正则表达式
 
Work In Japan
Work In JapanWork In Japan
Work In Japan
 
Linuxcommand
LinuxcommandLinuxcommand
Linuxcommand
 
Ubunturef
UbunturefUbunturef
Ubunturef
 
Fwunixref
FwunixrefFwunixref
Fwunixref
 
X Query
X QueryX Query
X Query
 
Sql2005 Xml
Sql2005 XmlSql2005 Xml
Sql2005 Xml
 
Ms Ajax Dom Element Class
Ms Ajax Dom Element ClassMs Ajax Dom Element Class
Ms Ajax Dom Element Class
 
Ms Ajax Dom Element Class
Ms Ajax Dom Element ClassMs Ajax Dom Element Class
Ms Ajax Dom Element Class
 
Ms Ajax Number And Error Extensions
Ms Ajax Number And Error ExtensionsMs Ajax Number And Error Extensions
Ms Ajax Number And Error Extensions
 
Ms Ajax Dom Event Class
Ms Ajax Dom Event ClassMs Ajax Dom Event Class
Ms Ajax Dom Event Class
 
Ms Ajax Date And Boolean Extensions
Ms Ajax Date And Boolean ExtensionsMs Ajax Date And Boolean Extensions
Ms Ajax Date And Boolean Extensions
 
Ms Ajax Array Extensions
Ms Ajax Array ExtensionsMs Ajax Array Extensions
Ms Ajax Array Extensions
 
Ms Ajax String And Object Extensions
Ms Ajax String And Object ExtensionsMs Ajax String And Object Extensions
Ms Ajax String And Object Extensions
 
Ext Js Events
Ext Js EventsExt Js Events
Ext Js Events
 
Ext Js Dom Navigation
Ext Js Dom NavigationExt Js Dom Navigation
Ext Js Dom Navigation
 
Ext Js Events
Ext Js EventsExt Js Events
Ext Js Events
 

Asp.Net运行时

  • 1. dd uu 为程序员打杂的站长 人生的真正价值在于从何种程度与何种意义 博客园 首页 新随笔 联系 管理 订阅 随笔- 992 文章- 236 评论- 19537 上摆脱自我! 爱因斯坦 我的最新闪存 ASP.NET 2.0运行时简要分析 精简了博客后台编辑器按钮。 3-25 21:37 概述: 本文基于ASP.NET 2.0的源代码,对ASP.NET 2.0运行时进行了简要的分析,希望能帮助你理解ASP.NET 2.0中请求处理过程及页面编译模型。 常用链接 关键字: ASP.NET 2.0运行时,原理,请求处理,页面编译,ASP.NET 2.0 HTTP Runtime 我的随笔 我的小组 主要类: 我的闪存 System.Web.HttpRuntime 我的好友 System.Web.HttpApplicationFactory 更多链接 System.Web.HttpApplication System.Web.Compilation.BuildManager System.Web.Compilation.ApplicationBuildProvider 留言簿 System.Web.Compilation.BuildProvidersCompiler 给我留言 System.Web.UI.PageHandlerFactory 查看留言 请求处理简要流程图: 我管理的小组 程序员音乐空间 创业交流 LumaQQ.NET 博客园上海俱乐部 英语听力 Web技术联盟 博客文摘 我参加的小组 读书(Books) web标准设计 ASP.NET 你必须知道的.NET 08欧锦赛 Visual Studio 博皮小组 Debug 探索团队小组 设计师之家 ubuntu 我参与的团队 Design & Pattern团队(0/699) SharePoint团队(0/612) .NET新手training活动(0/428) 上海.NET俱乐部(0/1874) 北京.NET俱乐部(0/927) MVP团队(0/367) 博客园NBear团队(0/48) 博客园创业者(0/19) Debug 探索团队(0/15) 随笔分类 ASP.NET 1.1(14) (rss) ASP.NET 2.0(13) (rss) C#(14) (rss)
  • 2. 阅读建议: SharePoint(17) (rss) 用Reflector工具边查看ASP.NET 2.0的源代码边阅读。 VS2005(8) (rss) WCF(1) (rss) 分析: 博客系统开发(1) (rss) 当我们通过浏览器向ASP.NET 2.0网站的一个asp.net页面发起请求时,在服务器端首先是IIS收到请求,IIS 博客园活动(1) (rss) 一看是asp.net页面,心里很开心,因为这个请求不用它处理,交给ASP.NET ISAPI就行了。ASP.NET ISAPI的工 创业(6) (rss) 电脑使用经验(19) (rss) 作也比较轻松,他的主要任务就是安排aspnet_wp.exe处理请求,并监视aspnet_wp.exe进程的执行情况,如果a 开源(5) (rss) spnet_wp.exe进程太累了,不能出色地完成任务,ASP.NET ISAPI就要让他下岗,换一个新的aspnet_wp.exe 媒体报道(3) (rss) 来处理工作。 生活随笔(4) (rss) aspnet_wp.exe的主要任务是将请求交给一系列称为的 HTTP 管道的托管对象。如果把ASP.NET ISAPI比做 书籍(1) (rss) 销售经理,那aspnet_wp.exe就是生产经理,而HTTP 管道就是生产的流水线。负责流水线的小组就是HttpRunti 数据库技术(3) (rss) me,生产经理aspnet_wp.exe会将订单(HTTP请求)交给HttpRuntime小组的工作人员ProcessRequest(HttpW 网站功能发布(70) (rss) orkerRequest wr),HttpRuntime根据内部的分工,最终由ProcessRequestInternal(HttpWorkerRequest w 网站管理(164) (rss) r)在流水线上进行生产,所以ProcessRequestInternal(HttpWorkerRequest wr)是我们分析的重点。 网站性能优化(4) (rss) ProcessRequestInternal的主要工作是: 1. 创建HttpContext实例。 随笔档案 2008年3月 (14) 2. 对第一次请求进行初始化(EnsureFirstRequestInit)。 2008年2月 (7) a) 在EnsureFirstRequestInit中通过调用System.Web.HttpRuntime.FirstRequestInit进行一些初始化工作, 2008年1月 (9) 比如:将Web.Config配置读到到RuntimeConfig中,从bin目录中装载所有dll文件。 2007年12月 (11) 2007年11月 (12) 3. 创建HttpWriter实例。 2007年10月 (13) 2007年9月 (7) 4. 通过调用HttpApplicationFactory.GetApplicationInstance创建HttpApplication实例。 2007年8月 (14) 在HttpApplicationFactory.GetApplicationInstance中有三个关键方法: 2007年7月 (16) HttpApplicationFactory._theApplicationFactory.EnsureInited(); 2007年6月 (13) HttpApplicationFactory._theApplicationFactory.EnsureAppStartCalled(context); 2007年5月 (11) HttpApplicationFactory._theApplicationFactory.GetNormalApplicationInstance(context); 2007年4月 (6) 2007年3月 (14) 下面我们对这三个方法逐个进行分析: 2007年2月 (12) 1) HttpApplicationFactory._theApplicationFactory.EnsureInited(); 2007年1月 (15) 该方法检查HttpApplicationFactory是否被初始化,如果没有,就通过HttpApplicationFactory.Init()进行初 2006年12月 (18) 始化。 2006年11月 (26) 在Init()中,先获取global.asax文件的完整路径,然后调用CompileApplication()对global.asax进行编译。 2006年10月 (20) 那编译是如何进行的呢? 2006年9月 (18) 编译的工作由BuildManager完成的。BuildManager先得到GlobalAsaxType(也就是HttpApplication),然 2006年8月 (23) 后调用BuildManager.GetGlobalAsaxBuildResult()=》GetGlobalAsaxBuildResultInternal()=》Ensur 2006年7月 (17) eTopLevelFilesCompiled()进行编译。 2006年6月 (8) 2006年5月 (23) 在EnsureTopLevelFilesCompiled中,先进行CompilationStage.TopLevelFiles编译,对下面三个目录中的 2006年4月 (10) 文件进行编译: 2006年3月 (16) a. CompileResourcesDirectory(); 2006年2月 (17) 编译App_GlobalResources目录。 2006年1月 (9) b. CompileWebRefDirectory(); 2005年12月 (13) 编译App_WebReferences目录。 2005年11月 (9) c. CompileCodeDirectories(); 2005年10月 (19) 编译App_Code目录。 2005年9月 (11) 2005年8月 (24) 接着进行CompilationStage.GlobalAsax 编译,对global.asax进行编译,方法调用情况:CompileGlobalA 2005年7月 (35) sax()=》ApplicationBuildProvider.GetGlobalAsaxBuildResult(BuildManager.IsPrecompiledApp)。 2005年6月 (23) 在GetGlobalAsaxBuildResult中具体的编译是由ApplicationBuildProvider与BuildProvidersCompiler共同 2005年5月 (11) 完成的。 2005年4月 (21) BuildProvidersCompiler.PerformBuild();进行编译工作。 2005年3月 (32) ApplicationBuildProvider.GetBuildResult得到编译的结果。 2005年2月 (19) 编译成功后,会在C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET File 2005年1月 (23) s相应的目录中生成类似App_global.asax.mlgx7n2v.dll的dll文件。 2004年12月 (35) 编译生成的类名为ASP.global_asax,继承自HttpApplication。 2004年11月 (24) 注:如果Web目录中没有Global.asax文件,就不会编译生成App_global.asax.mlgx7n2v.dll这样的文件。 2004年10月 (19) 2004年9月 (25) 2) HttpApplicationFactory._theApplicationFactory.EnsureAppStartCalled(context); 2004年8月 (35) 创建特定的HttpApplication实例,触发ApplicationOnStart事件,执行ASP.global_asax中的Application_ 2004年7月 (30) Start(object sender, EventArgs e)方法。这里创建的HttpApplication实例在处理完事件后,就被回收。 2004年6月 (24) 2004年5月 (17) 3) HttpApplicationFactory._theApplicationFactory.GetNormalApplicationInstance(context); 2004年4月 (9) 该 方法创建HttpApplication实例并进行初始化(调用System.Web.HttpApplication. InitInternal()方法)。 2004年3月 (57) 创建HttpApplication实例是根据实际的_theApplicationType进行创建。如果Web目录中没有global.asa文件, 2004年2月 (61) 也就是说没有动态编译生成ASP.global_asax类型,那就直接实例化HttpApplication。如果创建了ASP.global_a 2004年1月 (32) sax类型,那就对ASP.global_asa进行实例化。 创建HttpApplication实例之后就是调用实例的InitInternal方法。 新闻分类 InitInternal方法也是我们重点分析的方法,该方法的主要功能如下: 创业(17) (rss) 1. InitModules():根据Web.Config的设置,创建相应的HttpModules。
  • 3. 2. HookupEventHandlersForAppplicationAndModules:根据发生的事件,调用HttpApplication实例中相应的 事件处理函数。 相册 Imagination Festival 2007 3. 创建很多实现IExecutionStep接口的类的实例并添加到当前HttpApplication实例的_execSteps中,等待回调 TechED 2005 时执行。从这里我们可以看到HttpApplication是以异步的方式处理请求,对请求的很多处理工作都放入了_execSt TechEd 2006 ep等待回调时执行。 TechEd2007 _execStep中主要的处理工作如下: 广州沙龙活动 1) 对请求的路径进行安全检查,禁止非法路径访问(ValidatePathExecutionStep)。 桌面 2) 如果设置了UrlMappings, 进行RewritePath(UrlMappingsExecutionStep)。 3) 执行事件处理函数,比如:BeginRequest、AuthenticateRequest等等。 4) 获取处理当前请求的HttpHandler,ASP.NET页面的动态编译也是在这里进行的。(MapHandlerExecutionSte 朋友的博客 p) Allen Lee 该处理是通过调用System.Web.HttpApplication. MapHttpHandler方法。 briansun 在MapHttpHandler中,首先根据访问的地址从web.config获取相应的实现IHttpHandlerFactory的类型。对于as Bruce Zhang p.net页面,默认是PageHanlderFactory。然后创建PageHanlderFactory实例,调用GetHandlerHelper,在G CHUN etHandlerHelper中调用BuildManager.CreateInstanceFromVirtualPath编译并创建当前请求的ASP.NET页面 Dflying Chen 的实例(如果已经编译过,直接从缓存中加载)。 FantasySoft CreateInstanceFromVirtualPath经过几次方法调用,将编译任务给了BuildManager. CompileWebFile()。Co idior mpileWebFile从web.config得到相应的BuildProvider,对于.aspx文件,相应的BuildProvider是PageBuildPro lemeng vider。PageBuildProvider是如何进行页面编译的,这里就不再就进一步分析了,如果你感兴趣,可以进一步研究 Pedro Serrano ASP.NET 2.0的源代码。 Robert J.T. Yan 5) 调用相应HttpHandler的.ProcessRequest方法处理请求(如果是异步方式,调用BeginProcessReques)。(C simonw allHandlerExecutionStep) sulzbach 6) 将响应内容写入Filter。(CallFilterExecutionStep) Teddy xuebin 5. 调用HttpApplication实例的BeginProcessRequest异步处理请求。 Yeka 上面所讲的_execSteps中所发生的许多事情,都是在HttpRuntime调用HttpApplication BeginProcessReq 阿诺 uest之后,在BeginProcessRequest中调用ResumeSteps后执行的。 怪怪 韩磊 ASP.NET 2.0运行时是ASP.NET 2.0中非常复杂、难以理解也是很重要的部分,对ASP.NET 2.0运行时源代码 老燕 的研究有处于我们加深对ASP.NET 2.0原理的理解,会给我们开发ASP.NET 2.0应用程序带来不少帮助。这篇文章 雷钧随想 是我初次学习ASP.NET 2.0运行时,为了帮助自己更好地理解ASP.NET 2.0运行时而写的,欢迎你对文章内容提出 临风听暮禅 批评与建议。 灵感之源 我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思路、促进自己深入 吕震宇 地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还是很有帮助的。 双鱼座 维生素C.net 我是坏女生 posted @ 2006-01-14 00:23 dudu 阅读(5472) 评论(15) 编辑 收藏 所属分类: ASP.NET 2.0 心仪 发表评论 网站收藏 #1楼 2006-01-14 09:17 | 木野狐 回复 引用 查看 codeproject DoNews dotnet.org.za 写的很形象,谢谢 dudu. 收藏下来有空慢慢对照源码研究去。 dotnetjunkies.com joelonsoftware 博客堂 #2楼 2006-01-14 10:57 | jiangws 回复 引用 查看 沪江英语 苹果树下的童话 译言 写得很好,特别是:我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思 路、促进自己深入地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还 是很有帮助的。 小组 博客园在facebook #3楼 2006-01-14 15:46 | 阳春三月 回复 引用 查看 博客园在豆瓣 博客园在沪江 不错,这个形象很比喻。 刚开始接触一项新的技术时,尤其是能成 面 或成 体 的显得庞大复杂的新技术,由老师提纲挈领把大框架 友情链接 讲解一遍,对学习是非常有帮助的。这样的讲解不用太长,可能几句说到点子上的话就够了,就像本文 分析 Qihangnet 部分打比方的那两段,言简意赅,简明扼要,一下子就把 ASP.Net 页面是怎么运行起来的讲透了,而且准确生 捐献时间、分享快乐 动,颇有些幽默感。希望我们都能写出这样的文字来。 #4楼 2006-01-14 17:33 | 火星撞地球 [未注册用户] 回复 引用 查看 最新随笔 1. 摘要功能小改进 被你抢了先了 我正准备也写一篇这样的文章呢 :) 2. 好想好想 3. 欢迎大家推荐对自己最有帮助的技术图 书 #5楼 2006-01-17 13:16 | A.Z [未注册用户] 回复 引用 查看 4. 新模板发布-coffee 5. 博客园博客程序架构设计图初稿 6. 闪存与博客的整合 7. 社区与博客的进一步整合
  • 4. 8. [公告]社区与博客实现了登录整合 9. 程序员音乐空间 HookupEventHandlersForAppplicationAndModules 10. 耐心 多了一个p 11. 网速调查 12. 热烈欢迎两位园友加盟 #6楼 [楼主 ]2006-01-17 14:08 | dudu 回复 引用 查看 13. 遥远的路 14. 《环球企业家》:鲍尔默的独角戏 15. 聊聊今年的春节联欢晚会 @A.Z 源代码中的确就是这样写的。 16. 祝大家新年快乐 17. [收藏]《观察与思考》:相信中国,寻 找下一个比尔·盖茨 #7楼 2006-07-18 19:25 | xin 回复 引用 查看 18. [建议讨论话题]微软出价446亿美元洽 购雅虎 你好!我完全看不懂,在这想请你提供点关于这方面的基础学习建意和资料.谢谢! 19. 百度年会 Email:spsuxin#gmail.com 20. 博客园上海俱乐部第二次活动继续报道 #8楼 2006-11-24 09:20 | g無s所p畏 回复 引用 查看 搜索 搜索 要想学好asp.net,我看真得把这些东西搞懂搞透才行 #9楼 2007-01-24 08:46 | 小雨 [未注册用户] 回复 引用 查看 最新评论 1. re: 欢迎大家推荐对自己最有帮助的技 术图书 我觉得写文章,不仅能提高自己的写作水平、方便交流,而且通过写文章,可以理清自己的思路、促进自己深入 书名:《Object-Oriented Analysis and 地思考从而加深自己对技术的理解,开发人员在编码之余抽点时间写些技术文章对提高自己还是很有帮助的。 Design》作者:Grady Booch, Robert A. Maksimchuk, Michael W. Engel, 写的太好了 a... (Anders小明) #10楼 [TrackBack]2007-03-09 16:30 | daizhj 回复 引用 查看 2. re: 好想好想 路过,感受下····· (BirdsHover) 最近有时间看一些.net的框架代码,发现一个有意思的问题,就是HttpModule中的Init函数下的事件绑定,因为 3. re: 好想好想 事件的绑定在事件发生后相应 感受到春天的气息了。。。 (Anders Cui) [引用提示]daizhj引用了该文章, 地址: 4. re: 申请加入博客园创业者团队博客 http://www.cnblogs.com/daizhj/archive/2007/03/09/669479.html 开始创业哦。一起交流一下 博客园帐户名:lyj #11楼 [TrackBack]2007-03-09 16:33 | daizhj 回复 引用 查看 博客地址: (李永京) 5. re: 摘要功能小改进 最近有时间看一些.net的框架代码,发现一个有意思的问题,就是HttpModule中的Init函数下的事件绑定,因为 非常使用的功能哦! (Vitamin_C) 事件的绑定在事件发生后相应 [引用提示]daizhj引用了该文章, 地址: http://www.cnblogs.com/daizhj/articles/669479.html 6. re: 好想好想 --引用----------------------------------- #12楼 2007-05-20 09:25 | sdhjl2000 [未注册用户] 回复 引用 查看 ---------------杨正祎(阿一): 文章简介中 图片那么暧昧,还以为老大想像图片中那样 呢。 -_-b....--... (lzppcc) dudu语文看来学的不错,比喻很生动!thanks 7. re: 欢迎大家推荐对自己最有帮助的技 术图书 书名:《C# 2.0宝典》作者:张立出版 #13楼 [TrackBack]2007-08-22 20:51 | appledou 回复 引用 查看 社:电子工业出版社; 书名:《圣殿祭司 的ASP.NET 2.0开发详解 使用C#》作 Trace:http://www.cnblogs.com/dudu/archive/2006/01/14/317016.html概述: 者:奚江华 出版社:电子工业出版社 书 [引用提示]appledou引用了该文章, 地址: http://www.cnblogs.com/txdlf/articles/865971.html 名:《深入浅出设计模式... (侯垒) 8. re: 摘要功能小改进 #14楼 [TrackBack]2007-11-17 23:46 | dyq 回复 引用 查看 原来右侧图片是要自己敲代码的啊! 这个功能very nice (随风逝去) 概述: 9. re: 摘要功能小改进 [引用提示]dyq引用了该文章, 地址: 很喜欢这个功能 (sekihin) http://www.cnblogs.com/yongqiudeng/archive/2007/11/17/962921.html 10. re: 欢迎大家推荐对自己最有帮助的技 术图书 #15楼 2007-12-07 18:05 | 邓林海 回复 引用 查看 --引用----------------------------------- --------------- 杨正祎(阿一): 书名:《精 顶 通css》 作者:Andy Budd 译者:陈剑瓯 出版社... (WOW玩家) 刷新评论列表 阅读排行榜 标题 1. 电脑故障处理经验一则(238639) re: ASP.NET 2.0运行时简要分析 2. 电脑故障处理小经验 IE无法打开链接 姓名 的处理方法(237398) 3. 10 Golden rules for publishing your
  • 5. 主页 blog (69793) 4. Windows 2000 常见进程功能描述[转 Email (只有博主才能看到) 帖](65605) 5. 博客园程序源代码下载(59639) 验证码 * 6. 新增的MSN图片(52851) 内容(请不要发表任何与政治相关的内容) 7. 在Windows下配置与使用CVSNT(508 90) 8. 博客园FAQ(39984) 9. 网速测试(27146) 10. 清除SearchNet.exe(26485) 11. 不错的工具:Reflector for .NET (239 04) 12. 如何实现文本框焦点自动跳转及通过回 车键提交表单(21819) 13. 安装智能陈桥五笔时请小心(19385) 14. 日志文件分析工具 AWStats在IIS中 的配置步骤(18774) 15. TortoiseCVS比WinCVS好用多了(18 753) c d e g Remember Me? 提交 登录 使用高级评论 新用户注册 返回页首 恢复上次提交 评论排行榜 [使用Ctrl+Enter键可以直接提交] 1. 电脑故障处理经验一则(1061) 该文被作者在 2006-08-06 16:09 编辑过 2. [重要新功能]团队Blog(524) 3. 博客园FAQ(382) 历史上的今天: 4. [公告]博客园准备建立SharePoint团队 2004-01-14 可以插入图片了 2004-01-14 如何用w.bloggar从桌面发表文章 (354) 5. 电脑故障处理小经验 IE无法打开链接 的处理方法(345) 所属分类的其他文章: 6. 10 Golden rules for publishing your · ASP.NET 2.0 X64的奇怪问题 blog (345) · 博客园Blog程序中又一个奇怪问题 7. 博客园程序源代码下载(278) · 博客园Blog程序遇到的奇怪问题 8. 网速测试(226) · 对ASP.NET 2.0的预编译功能有点不满 9. 博客园也Ajax(171) · 推荐一篇有关Master Pages的文章 10. 哪个城市更适合博客园的发展(167) · 关于 Ambiguous match found” · [代码示例]如何在ASP.NET中获取随机生成的cookie加密与验证密钥 · 从ASP.NE T 1.1升级到ASP.NET 2.0需要考虑的Cookie问题 · ASP.NET 2.0, 想说爱你不容易 在ASP.NET 2.0中开发通配符映射应用程序的一些问题 6天内阅读排行 0 · [ASP.NET 2.0]PageParser.GetCompiledPageInstance中的一个Bug及解决方法 1. 博客园博客程序架构设计图初稿(4431) 博客园首页 社区 2. 热烈欢迎两位园友加盟(3581) 3. 聊聊今年的春节联欢晚会(3507) 4. [建议讨论话题]微软出价446亿美元洽购 雅虎(3038) 5. 欢迎大家推荐对自己最有帮助的技术图 书(2846) 6. 博客园上海俱乐部第二次活动继续报道 (2303) 7. 网速调查(2237) 8. 新模板发布-coffee(2062) 9. 祝大家新年快乐(1996) 10. [公告]社区与博客实现了登录整合(19 74) 11. 闪存与博客的整合(1736) 12. 致歉(1607) 13. 致歉(1523) 14. 社区与博客的进一步整合(1479) 15. 《环球企业家》:鲍尔默的独角戏(10 91) Copyright ©2008 dudu