我有一个带有私有(private)/ protected 方法或私有(private)/ protected 变量的网络应用程序
首先,我想知道网络服务器何时已经为某个网络应用程序建立了连接,然后接收到一个新连接,它是否为这个新连接运行一个新的网络应用程序实例,从而重新初始化所有该网络应用程序中的变量就像在计算机上一样?
我浏览了 Internet,我感到非常困惑!
其次,我正在使用 visual studio 开发服务器,我了解到它不接受来自其他计算机的连接,我已经通过使用端口转发软件解决了这个问题。所以问题是,通过这样做,VS2010 网络服务器是否将每个不同的请求视为新请求或相同的请求,因为我是从本地计算机上的应用程序转发它们的?
最后,如果我在一个浏览器上打开了一个 Web 应用程序,然后决定在另一个浏览器上打开它并保持当前浏览器打开,这是否被视为新请求或回发?
最佳答案
应用域是常量(可以循环使用)并且只在第一次请求时创建(也可以在此之前设置)。
也就是说所有的静态变量只初始化一次 但是您的请求所依赖的所有非静态类都会在每次请求时进行初始化。
所以基本上,您在普通 asp.net 中的所有页面和在 asp.net MVC 中的所有 Controller 都会根据每个请求进行初始化。
在这里阅读更多信息 http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle
*注意 - 图片取自上述文章
关于c# - asp.net 网络服务器是否为每个请求运行一个新的网络应用程序实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132499/