我有一个简单的应用程序,其中包含一个要单击的按钮以便开始记录,基本上我将消息记录到数据库。该应用程序已设置为将消息记录到数据库。所以,我尝试在我的机器上运行我的应用程序,但同时使用两种不同的浏览器(例如谷歌浏览器和Internet Explorer)。然后我从两个浏览器中单击按钮,但奇怪的是两个浏览器的threadID是相同的。但是,当我在同一浏览器上运行多次应用程序时,每次执行它时都会给出一个新的threadID。为什么? 因为当我从不同的浏览器同时运行应用程序时,我期望threadID不同,因为执行时间不同。
答案 0 :(得分:5)
ThreadID与浏览器无关;它与运行服务器代码的Thread 有关。也就是说,aspnet工作进程(或运行你要记录的代码的任何东西)。
答案 1 :(得分:1)
服务器重用线程来处理传入的请求(无论您使用的是哪种浏览器,您登录的是哪台计算机等)。我可以将浏览器指向您的服务器,并获得与您所看到的相同的ThreadId。我无法保证(据我所知)您的代码将在多个请求的不同线程上运行。也不保证(据我所知)你的代码将在多个请求的同一个线程上运行。