ASP.NET网站在多人访问的时候出现页面内容混淆

【求助】ASP.NET网站在多人访问的时候出现页面内容混淆
原本的页面是正确的,后来同时有两个页面访问请求就会导致后一个页面的的内容出现在前一个页面上。看了一下IIS中只有一个进程执行这个网站的代码,是由于什么原因导致的页面内容都混了呢?各位大神帮帮忙,找了好久都没找到解决方法。图片不知道为什么传不上来。。。
asp.net iis C#

------解决方案--------------------
肯定用了APPLICATION变量或者STATIC变量
------解决方案--------------------
出现页面内容混淆?

是不是本来是A页面的数据跑到B页上去了?如果跑上去了,你要看是什么规律?你是先打开哪个窗口?


------解决方案--------------------
AB两页面是什么关系?

------解决方案--------------------
引用:
Quote: 引用:

出现页面内容混淆?

是不是本来是A页面的数据跑到B页上去了?如果跑上去了,你要看是什么规律?你是先打开哪个窗口?

我是先打开A页面,然后迅速打开B页面,因为B页面响应速度快,所以B页面先显示出来,然后A页面的结果和B页面相同。我昨天暂时解决了这个问题。我看了一下任务管理器,其中只有一个进程来处理所有的页面请求,导致其中的变量都是共用的,然后我把针对每个页面的数据都存储在Session里面,取内容进行判断是哪个页面,取出之后暂时解决了这个问题,不过必须要在用户关闭页面时将对应的内容删掉防止内存资源消耗殆尽。我想问还有什么更好的解决方法吗?


为什么会是共用的?
每个请求都应该是新的实例啊
------解决方案--------------------
这个跟进程没关系。。。IIS是自动管理线程垃圾处理的

问题还是 出在你两个页面的代码中,要注意那些共用对象比如 SESSION APPLICATION STATIC
------解决方案--------------------
你是在同一个电脑上测试的吗?

你的页面内容(在asp.net程序中对应的关键数据)是针对页面局部(也就是ViewState)来设计的,还是针对会话(也就是Session集合)来设计的?

没有稍微深一点的描述,什么问题也看不出来,只会耽误工夫。
------解决方案--------------------
引用:
我在任务管理器上看到只有这一个进程,不管开多少个这个页面,当然我说的是IIS端的,就是iisexpress.exe这个进程。客户端的进程肯定是随着页面的增加而增加的。


就算是有1000个人访问,那么asp.net也完全可能会只有一个进程。

人家说的“实例”是指 Syste.Web.UI.Page 类型的实例对象,不是指进程。
------解决方案--------------------
这个得看下你的逻辑代码是怎么实现的喽,要不然很难排查出来
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

出现页面内容混淆?

是不是本来是A页面的数据跑到B页上去了?如果跑上去了,你要看是什么规律?你是先打开哪个窗口?

我是先打开A页面,然后迅速打开B页面,因为B页面响应速度快,所以B页面先显示出来,然后A页面的结果和B页面相同。我昨天暂时解决了这个问题。我看了一下任务管理器,其中只有一个进程来处理所有的页面请求,导致其中的变量都是共用的,然后我把针对每个页面的数据都存储在Session里面,取内容进行判断是哪个页面,取出之后暂时解决了这个问题,不过必须要在用户关闭页面时将对应的内容删掉防止内存资源消耗殆尽。我想问还有什么更好的解决方法吗?


为什么会是共用的?
每个请求都应该是新的实例啊

还是看你变量是怎么传值,并存储的,你用SEESSION解决了,间接说明了你还是用了全局变量
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

出现页面内容混淆?

是不是本来是A页面的数据跑到B页上去了?如果跑上去了,你要看是什么规律?你是先打开哪个窗口?

我是先打开A页面,然后迅速打开B页面,因为B页面响应速度快,所以B页面先显示出来,然后A页面的结果和B页面相同。我昨天暂时解决了这个问题。我看了一下任务管理器,其中只有一个进程来处理所有的页面请求,导致其中的变量都是共用的,然后我把针对每个页面的数据都存储在Session里面,取内容进行判断是哪个页面,取出之后暂时解决了这个问题,不过必须要在用户关闭页面时将对应的内容删掉防止内存资源消耗殆尽。我想问还有什么更好的解决方法吗?


为什么会是共用的?
每个请求都应该是新的实例啊

我在任务管理器上看到只有这一个进程,不管开多少个这个页面,当然我说的是IIS端的,就是iisexpress.exe这个进程。客户端的进程肯定是随着页面的增加而增加的。


进程不等于请求,一个进程可以处理很多请求

------解决方案--------------------
估计还是STATIC变量或是APPLICATION这些引起的。