ASP.NET 辅助进程

ASP.NET 运行在称为 ASP.NET 辅助进程的进程内。所有 ASP.NET 功能都运行在此进程的作用域内。

常规 Web 服务器只包含一个 ASP.NET 辅助进程。这一点与 Web 场和 Web 园都不同:

  • Web 场包含多个 ASP.NET 辅助进程。

    服务器组中的每台服务器都处理一个独立的 ASP.NET 辅助进程。

  • Web 园包含多个 ASP.NET 辅助进程。

    SMP 服务器中的每个 CPU 都处理一个独立的 ASP.NET 辅助进程。

选择 ASP.NET 辅助进程

当 Web 客户端连接到 Web 场或 Web 园时,将会从多个 ASP.NET 辅助进程中选择一个来运行请求。

  • 在 Web 场中,所选的 ASP.NET 辅助进程是由“网络负载平衡”确定的。
  • 在 Web 园中,所选的 ASP.NET 辅助进程是由 ASP.NET 确定的。

多个 ASP.NET 辅助进程的状态管理

当从使用单一 ASP.NET 辅助进程的方案(常规 Web 服务器)转到使用多个 ASP.NET 辅助进程的方案(Web 场或 Web 园)时,状态管理将变得复杂起来。

Web 页是无状态的,因此 Web 服务器必须通过其他方法保持状态。用于在 Web 服务器上管理状态的典型方法包括 Session State 和 ASP.NET Cache。

Note注意

“应该对 Crystal Reports 使用哪种持久性方法?”一节中详细论述了(单一 Web 服务器内)的持久性和状态问题。

Session 和 Cache 都包含在单一 ASP.NET 辅助进程的内存空间内。但在 Web 场或 Web 园中,多个 ASP.NET 辅助进程是同时一起工作的。任何单独 ASP.NET 辅助进程内的 Session 或 Cache 都无法管理跨多个进程的状态。

因此,必须为状态管理提供一个附加层,即进程外 Session State 服务器,该服务器存储和获取 Web 场或 Web 园中的每个 ASP.NET 辅助进程的状态信息。请参见“进程外 Session State”