我了解 ASP.NET 使用工作线程处理请求。因此客户端 A 和客户端 B 可以发出请求,请求同时处理。
客户端可以同时发出多个请求。请看下面的代码:
Imports System.Threading
Partial Class Default5
Inherits System.Web.UI.Page
Dim intCount1 As Integer, intCount2 As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'If Session("Test") = "" Then
Session("Test") = Request.QueryString("ID")
'End If
Response.Write(Session("Test"))
End Sub
End Class
Imports System.Threading
Partial Class Default4
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("Test") <> "" Then
For intCount1 = 0 To 10
Response.Write(Session("Test") & "," & intCount1 & "<br>")
Thread.Sleep(1000)
Next
End If
End Sub
End Class
请通过指定以下 URL 打开 Default5.aspx:default5.aspx?id=1 并使用此 URL 打开另一个页面:default5.aspx?id=2。然后从打开 default5.aspx?id=1 的浏览器导航到 default4.axpx(通过指定 URL),在运行时,从打开 default5.aspx?id=2 的浏览器导航到 default4.axpx。两种情况的结果都是:
2,0
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,8
2,9
2,10
在这两种情况下,会话变量都是 2(我明白为什么会这样)。请看我昨天问的一个问题:ASP.NET - Accessing web page two from client。在此示例中,会话变量在两种情况下都不是 2。
我的问题是;ASP.NET 可以同时处理来自同一个客户端的多个请求。Wins 的响应似乎表明一次处理一个请求。