asp.net Web服务器是否按请求运行Web应用程序的新实例?

我有一个带有私有/受保护方法或私有/受保护变量的Web应用程序

首先,我想知道Web服务器何时已为某个Web应用程序建立连接,然后接收新连接,它是否为此新连接运行Web应用程序的新实例,从而重新初始化所有变量那个Web应用程序就像在计算机上一样?

我对互联网进行了调整,我非常困惑!

其次我正在使用visual studio开发服务器,我了解到它不接受来自其他计算机的连接,我通过使用端口转发软件解决了这个问题。 所以问题是,通过这样做,VS2010网络服务器将每个不同的请求视为新的请求或相同的请求,因为我从本地计算机上的应用程序转发它们?

最后,如果我在一个浏览器上打开一个Web应用程序然后决定在另一个浏览器上打开它并保持当前浏览器打开,那么这被视为新请求还是回复?

应用程序域是常量(可以回收),仅在第一个请求时创建(也可以在此之前设置)。

也就是说,所有静态变量只初始化一次,但是请求所依赖的所有非静态类都在每个请求上初始化。

因此,基本上所有在普通asp.net中的页面和asp.net MVC中的所有控制器都会在每次请求时初始化。

在这里阅读更多相关信息http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle

在此处输入图像描述

*注意 – 图像来自上面提到的文章

它比那复杂一点。 这个过程针对多个连接进行了优化,并且是无状态的,但是可以使用兑现来改善scalabilty:不需要重新处理的过程可以简单地重复使用: http : //www.dotnetfunda.com/articles/article821-beginners-guide -how-iis-process-aspnet-request.aspx是一个开始理解可以发生什么的好地方http://msdn.microsoft.com/en-us/library/bb470252%28v=vs.100%29.aspx是一个有点干燥的ms版本“iis asp页面生命周期”是一个很好的谷歌

Web应用程序实例处理许多请求。 无论是单个会话还是多个并发会话,共享状态(缓存等)都可以非常有效地用于这些请求。

发出请求时,会为该请求创建请求对象(以及任何“页面”/“控制器”对象)。 此对象的状态是新鲜的,但“会话状态”,“查看状态”,cookie和请求值等系统可用于重新填充它 – 有时很大程度上是自动化的。

单个用户发出单独的请求不是回发。 它们是单独的会话,但即使是打开同一页面两次(标签等)的单个会话也不是回发。 它主要取决于http动词和其他证据来确定回发。