我写了一个web-api项目,充当两个子系统之间的桥/网关。C#Web-Api - 处理入站请求以便接收它们'
我需要确保入站请求按“接收的顺序”进行处理。我不overaly熟悉网络的API是如何工作的关心我是这样的:
- 入站请求时,操作时拉开序幕,持续30秒。
- 在第一个请求正在处理的5秒内,第二个请求被接收并立即进行处理。
担心的原因是用户可能会提交更新记录,该记录将传播到其他子系统。但是,该用户可能因为任何原因提交第二个请求。我需要确保第一个请求先完成,然后再执行后续请求。因此,当请求发生洪流时,这只是一种先到先得的处理方式。
有没有人知道如果web-api这样的作品已经这样做,或者我需要做什么才能获得这种行为?
很确定在Web API中没有这种机制,因为你需要某种密钥来锁定其他请求。不过,要解决您的问题,您需要某种信号量机制。但是,在这种情况下,您还应该考虑可能的超时。 –
根据您想要发回给用户的内容,您可以对请求进行排队并发送“排队”响应。不特定于Web-API,但会覆盖您的要求。 –