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。
注意 |
|---|
“应该对 Crystal Reports 使用哪种持久性方法?”一节中详细论述了(单一 Web 服务器内)的持久性和状态问题。 |
Session 和 Cache 都包含在单一 ASP.NET 辅助进程的内存空间内。但在 Web 场或 Web 园中,多个 ASP.NET 辅助进程是同时一起工作的。任何单独 ASP.NET 辅助进程内的 Session 或 Cache 都无法管理跨多个进程的状态。
因此,必须为状态管理提供一个附加层,即进程外 Session State 服务器,该服务器存储和获取 Web 场或 Web 园中的每个 ASP.NET 辅助进程的状态信息。请参见“进程外 Session State”。
注意