文件名称:在没有 IIS 的条件下运行 ASMX
文件大小:109KB
文件格式:DOC
更新时间:2010-11-03 07:25:54
ASMX IIS
ASP.NET 专门设计为避免依赖于 IIS。基础体系结构是由共同处理传入的 HTTP 消息的 .NET 类构成的一条管线。它被看作管线的原因是每个 HTTP 请求都要经过一系列对象,每个对象执行一些处理。
HttpRuntime 类位于管线的前端,负责启动进程。当调用 HttpRuntime 类的静态 ProcessRequest 方法时,管线开始执行。ProcessRequest 带有一个 HttpWorkerRequest 对象,该对象包含当前请求的所有信息。HttpRuntime 使用 HttpWorkerRequest 中的信息来填充 HttpContext 对象。然后它实例化适当的 HttpApplication 类,这个类会调用注册到应用程序的任何 IHttpModule 实现以用于预处理或后期处理。此时会识别、实例化和调用适当的 IHttpHandler 实现。
每个进入管线的 HTTP 请求都会发生这个过程。所有 ASP.NET 功能(包括 ASMX 的功能)都包含在这些管线类中。例如,当请求到达 System.Web.Services.Protocols.WebServiceHandlerFactory 类时,就开始支持对 ASMX 终结点的处理,该类负责识别、编译(如果需要)和实例化标识的 ASMX 类,以及调用传入的 SOAP 消息的目标 WebMethod。