如何在Web API中控制用户对特定操作的活动请求数?

时间:2018-05-23 06:38:44

标签: c# asp.net-web-api throttling

我编写了一个异步的web api动作,需要很长时间才能执行。我想将用户的未完成请求数量限制为特定数量。我看过很少的在线文章,他们在一段时间内做了限制。 请指导我如何基于用户限制活动请求的数量。

2 个答案:

答案 0 :(得分:0)

使用现有的Nuget限制扩展,例如:https://github.com/stefanprodan/WebApiThrottle/blob/master/README.md

答案 1 :(得分:0)

你可以自己构建一些简单的东西。

请求来自用户,例如在db表中添加活动连接记录。

另一个请求进入,计算现有活动连接,如果低于限制则添加另一个请求。例如,如果没有返回BadRequest。

请求完成处理,删除其活动连接记录,以便计数减少。