我所处的情况是,两个调用同时写入会话(运行在旧框架上的asp.net核心应用程序),而其中一个会话变量被覆盖。给定以下控制器代码,假设长会话首先被调用,200 ms后短会话被调用,800 ms之后(当长会话完成时)两个会话的结果被调用。await Task.Delay(1000);
}
public async T
我有一个应用程序是ASP.net的核心,并集成了处理支付的支付网关。在我的日志文件中,我可以看到支付控制器有时会执行两次。我根据接收请求的时间生成一个ID,这些ID有时相差1秒,有时完全相同。Other code here 我生成的id被记录下来,我可以在日志文件中看到,它为ID为相同时间或相差1秒的客户运行了两次。我已经测试了双击场景,还放入了一些代码来防止双击。在放入这段代码后,它确实停止了重复请求的数量,但并没有完全停止。在少数情况下,控制器如何被调用两次。