我寫了一個web-api項目,充當兩個子系統之間的橋/網關。C#Web-Api - 處理入站請求以便接收它們'
我需要確保入站請求按「接收的順序」進行處理。我不overaly熟悉網絡的API是如何工作的關心我是這樣的:
- 入站請求時,操作時拉開序幕,持續30秒。
- 在第一個請求正在處理的5秒內,第二個請求被接收並立即進行處理。
擔心的原因是用戶可能會提交更新記錄,該記錄將傳播到其他子系統。但是,該用戶可能因爲任何原因提交第二個請求。我需要確保第一個請求先完成,然後再執行後續請求。因此,當請求發生洪流時,這只是一種先到先得的處理方式。
有沒有人知道如果web-api這樣的作品已經這樣做,或者我需要做什麼才能獲得這種行爲?
很確定在Web API中沒有這種機制,因爲你需要某種密鑰來鎖定其他請求。不過,要解決您的問題,您需要某種信號量機制。但是,在這種情況下,您還應該考慮可能的超時。 –
根據您想要發回給用戶的內容,您可以對請求進行排隊併發送「排隊」響應。不特定於Web-API,但會覆蓋您的要求。 –