.net 限制对来自同一位置的Web API的请求

.net 限制对来自同一位置的Web API的请求,.net,asp.net-core-webapi,iis-10,.net,Asp.net Core Webapi,Iis 10,我们有一个web api,允许非匿名用户使用我们自己的移动应用程序(android和iOS)注册。最近有报道称,有多个用户使用同一电子邮件地址注册,我们不允许这样做。我们有多重检查,不允许这种情况发生。当我们检查IIS日志时。我们有这样的东西: 我们的web api似乎正在使用AlamoFire接收来自iOS移动应用程序的多个请求,Android的改进也是如此。有没有办法防止这种情况发生?问题不在于同时有多个请求,而在于您用于创建用户的代码具有竞争条件。有很多方法可以解决这个问题,下面的两张票只

我们有一个web api,允许非匿名用户使用我们自己的移动应用程序(android和iOS)注册。最近有报道称,有多个用户使用同一电子邮件地址注册,我们不允许这样做。我们有多重检查,不允许这种情况发生。当我们检查IIS日志时。我们有这样的东西:


我们的web api似乎正在使用AlamoFire接收来自iOS移动应用程序的多个请求,Android的改进也是如此。有没有办法防止这种情况发生?

问题不在于同时有多个请求,而在于您用于创建用户的代码具有竞争条件。有很多方法可以解决这个问题,下面的两张票只是一个开始

2020-02-15 18:40:42 XXX.XXX.X.XX POST /api/Account/Register - 8082 - Y.YY.YYY.YYY OurIOSAppName/3+CFNetwork/1121.2.2+Darwin/19.3.0 - 400 0 64 69968
2020-02-15 18:40:42 XXX.XXX.X.XX POST /api/Account/Register - 8082 - Y.YY.YYY.YYY OurIOSAppName/3+CFNetwork/1121.2.2+Darwin/19.3.0 - 200 0 0 13218
2020-02-15 18:40:42 XXX.XXX.X.XX POST /api/Account/Register - 8082 - Y.YY.YYY.YYY OurIOSAppName/3+CFNetwork/1121.2.2+Darwin/19.3.0 - 200 0 0 17390