概述
Host 是应用程序域级的单例,代表了Orchard应用程序。其处理应用程序生命周期中的初始化、BeginRequest事件、EndRequest事件等。 可以简单理解为HttpApplication的功能转移到了Host身上。从源码角度上看,Host对应的是实现了IOrchardHost接口的 DefaultOrchardHost类。
回顾一下之前对Orchard.Web.MvcApplication类的分析。在Orchard启动时,会创建一个DefaultOrchardHost对象:
DefaultOrchardHost类涉及到的内容相当复杂,所以用几个独立的篇幅来表述。
一、Host初始化
详见《Orchard源码分析(5.1):Host初始化(DefaultOrchardHost.Initialize方法)》
二、BeginRequest事件处理
详见《Orchard源码分析(5.2):BeginRequest事件处理(DefaultOrchardHost.BeginRequest方法)》
三、EndRequest事件处理
详见《Orchard源码分析(5.3):EndRequest事件处理(DefaultOrchardHost.EndRequest方法)》
相关类型:
Orchard.Environment.DefaultOrchardHost : IOrchardHost
Orchard.Web.MvcApplication:HttpApplication
Orchard.Environment.OrchardStarter