在单个实例上运行的网页?

时间:2016-08-31 11:58:44

标签: c# asp.net iis multi-user

我写的网页应该由多个用户同时使用。 该页面包含一些过滤器,因此每个用户都应在过滤后获得结果。

问题是,一旦用户A在自己的页面上更改过滤器,用户B的过滤器就会更改为用户A的选择。

更新过滤器的方式是设置过滤器控件后,执行Response.Redirect(" search.aspx?filter_a = 12& filter_b = 1& ....."),然后阅读查询字符串以设置过滤搜索结果。

症状1:

time 0: user A load page as first , all filter off.

time 0:  user B load page as first , all filter off.

time 1 : User A set filter  a b c On, submit

time 2 : User B set filter  x on, then page submit  

time 3:  After User B's page gets refreshed, User B see   filter a b c and x On.

症状2:

time 0: user A load page as first , all filter off.

time 0:  user B load page as first , all filter off.

time 1: user A set  filter  a on, submit. then user A's page filter a is on.

time 2: user B do nothing just refresh page,  will see filter a is on.

结果应该是:

on A's page only filter a b c  are On

on B's page only filter x is on.

这让我觉得,网页只在同一个实例上运行,每个人都共享它的控件。

如何将其设置为多个实例以支持不同的用户?

在同一台机器上运行不同的传真机,不同的机器,不同的公共IP上的不同机器,都会遇到问题。

1 个答案:

答案 0 :(得分:0)

我只能猜测,因为没有提供源代码 我的猜测是你的应用程序内存中有静态对象,这些对象在不同用户之间为不同的请求共享。 尝试使用与个别请求相关的实例,而不是应用程序。