Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如果两个用户调用相同的函数,MVC.NET用户将从其他用户获取数据_Ajax_Asp.net Mvc - Fatal编程技术网

Ajax 如果两个用户调用相同的函数,MVC.NET用户将从其他用户获取数据

Ajax 如果两个用户调用相同的函数,MVC.NET用户将从其他用户获取数据,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我有两个不同的登录用户。我进入两个帐户的同一页面,同时点击刷新 在该页面上,我有一个ajax调用,它调用函数: public JsonResult GetAppointments() { var userId = User.Identity.GetUserId(); var eventList = from a in db.Appointments where a.UserId == userId

我有两个不同的登录用户。我进入两个帐户的同一页面,同时点击刷新

在该页面上,我有一个ajax调用,它调用函数:

public JsonResult GetAppointments()
    {
        var userId = User.Identity.GetUserId();

        var eventList = from a in db.Appointments
                        where a.UserId == userId
                         select new
                         {
                         ...
因此,它应该根据用户ID返回不同的约会

但由于某些原因,一个用户从另一个用户获取数据。(在第页,我得到了两个用户的相同数据)

它看起来像是来自第一个用户占用的线程的函数调用,第二个用户从该线程而不是从他的函数调用中获取数据

有人知道这是怎么可能的,为什么会发生

编辑: 当这种情况发生时,我点击第二个用户的注销,得到:“防伪cookie令牌和表单字段令牌不匹配。”错误。似乎第二个用户不知何故也从第一个用户那里得到了表单字段令牌,但不知道如何得到。

我发现了这个问题

在控制器上,我有:

OutputCache(NoStore = true, Duration = 1, VaryByParam = "")

我更改了Duration=0,现在一切正常。

这与您的方法无关。在两个不同的浏览器中同时尝试。您可能已注销并使用另一个选项卡登录,并与以前的帐户保持打开状态。这就是为什么你会得到相互矛盾的结果。是的,我在两个不同的浏览器中同时尝试了它,用两个不同的帐户登录,然后转到同一个页面,然后发现了这个问题。我之前清除了缓存和cookies,并进行了多次测试,以确保问题存在,并且每次都会发生