簡體   English   中英

如何在.net core中遞歸調用web api?

[英]How to call the web api recursively in .net core?

我有一個端點,它返回包含酒店的響應和一個顯示更多可用結果的標志,客戶端需要遞歸調用這個端點,直到服務器返回更多結果標志為假。 實現這一點的更好方法是什么? 有人可以幫我嗎?

第一種選擇:盡可能避免它

請盡量避免調用 HTTP API 以避免網絡延遲。 如果您想從一個應該響應的客戶端進行多次調用,這非常重要。

例如,如果您正在開發 Web 應用程序/WPF 應用程序,並且您希望用戶單擊觸發 10-20 次 API 調用的內容,則操作可能無法快速完成,從而導致用戶體驗不佳。

如果它是后台作業,那么多次調用可能更有意義。

第二個選項:優化來自客戶端的 HTTP 調用

如果您仍然想通過 HTTP 進行多次調用,那么您必須以某種方式優化代碼,至少可以避免網絡延遲。

為了避免網絡延遲,您可以在客戶端的一次調用中將所有數據或主要數據塊帶入。 然后客戶端可以迭代這組數據。

即使您減少了一半的呼叫,您也為客戶處理購買了更多的時間。

另外一個選項

您還可以嘗試考慮這是否可能是一個斷開連接的操作——客戶端只向服務器發送一個通知,然后服務器執行所有迭代。

客戶端可以從數據庫的某處讀取狀態以了解此操作是否完成。 這樣你的客戶端 UI 仍然會說響應式,你將能夠將所有繁重的處理卸載到服務器。

您必須考慮這些選項中的哪些適合您的產品/項目的高級設計。

希望我已經為思考提供了足夠的食物(盡管這可能無法直接解決您的問題)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM