我正在阅读“C# 和 vb.net 中的专业 asp.net 4.0”,我看到了这个声明:
该
Application
对象对机器来说不是全局的;它是全球性的HttpApplication
。
我不知道,这个语句中的机器是什么?!机器是什么意思?!
机器是服务器,承载 ASP.NET 进程的进程正在其上运行。
通常,但并非总是如此,这是 IIS。但它可以是托管 ASP.NET 运行时的任何代码——比如cassini(VS2008+ 中提供的开源网络服务器,现在它本身就是一个开源项目)。
无论如何,这意味着如果您有两个托管进程(使用上述标准),则应用程序对象不会被这两个进程共享。每个进程中都有一个 Application 对象。
这是我最喜欢的关于 ASP.NET 和 HTTP 管道的文章之一。它提供了很多关于 ASP.net 如何挂起的背景信息,我认为您可能会觉得有用。