asp.net 中使用Parser和Compiler
Ghost Application Class
的创建过程,这个是Asp.net如何结合编译与解释两种技术的关键。

 

此模式中有两个重要的角色:ParserCompiler

Parser负责解释Application Script (Global.asax),当使用Code Behind 技术时,Parser会加载预编译的Assembly,也就是Global.dll,并使用Reflection技术取出其中的类信息。接着创建一个继承自此类的源代码,最后调用Compiler来编译次源代码后取得对象实例。

 

 

另外一点:多个HttpApplication对象为何能够共享Cache,Application State 对象呢?

答案很简单,这两个对象是由HttpRuntime对象所管理,HttpContextHttpApplication对象只是单纯的作出一个转交动作而已,一个AppDomain中会有一个HttpRuntime对象存在。

来自——《深入剖析Asp.net组件设计》

相关文章: