c# - asp.net 网络服务器是否为每个请求运行一个新的网络应用程序实例?

标签 c# asp.net

我有一个带有私有(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

enter image description here

*注意 - 图片取自上述文章

关于c# - asp.net 网络服务器是否为每个请求运行一个新的网络应用程序实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132499/

相关文章:

c# - 如何在 Linux 上安装特定版本的 nuget (2.12)?

c# - string.Format、正则表达式 + 大括号 (C#)

asp.net 网站 - 自动添加版本号?

c# - 将用户添加到 signalr 组时如何显示所有以前的消息?

asp.net - 使用 Perl 脚本登录 ASPX 页面

asp.net - 如何找到对用户控件的所有引用

c# - 具有绑定(bind)图像状态和悬停图像的 WPF 无 Chrome 按钮

c# - 为什么 timespan totalmilliseconds 在整数和小数部分中具有相同的数字?

c# - 具有不同url参数的web api调用get方法

c# - 创建用于数据库的哈希码(即不使用 GetHashCode)