我可以限制每个用户HTTP请求访问asp.net mvc控制器吗?

时间:2014-06-20 14:16:26

标签: asp.net-mvc

我有这个简单的控制器:

   [HttpGet, ActionName("analysis")]
        public async Task<StatusResultModel> Analysis(Guid api_key)
        {Thread.Sleep(10000);}

我需要实现的是限制每个用户群的访问权限,以便每个用户只能向该控制器发出一个HTTP请求。

因此,如果某人发出两个并行请求,则第一个请求将处理,但第二个请求将阻塞,直到第一个请求未完成。

1 个答案:

答案 0 :(得分:2)

您需要存储每个api密钥的请求状态并相应地进行管理。在您的状态启动时添加条目,检查每个请求是否存在,并在完成后删除。