簡體   English   中英

異步mvc .net:如何從異步方法返回視圖

[英]asynchronous mvc .net: how to return a view from async method

我開始學習MVC.net並遵循此文檔

在那里,解釋了異步控制器將實現兩個方法,比如操作被稱為新聞,然后我們將有一個名為NewsAsync的方法, 它將返回void ,以及一個NewsCompleted, 它將返回一個視圖 ,這將是一旦未完成的操作返回就調用。

我擔心的是,我真的沒有看到在操作開始后無法返回視圖的異步操作的任何意義。 如果用戶在異步回調返回之前無法從服務中看到任何反饋,那么為什么首先要使用異步控制器呢?

在異步操作啟動后有沒有辦法返回中間視圖? 我不必擔心這種明顯的限制嗎? MVC.net有什么我想念的嗎?

異步控制器的目的是促進線程重用,這樣如果你有一個特別長的運行請求阻塞資源,你就不會占用請求隊列。 它與向請求方返回信息無關。 最后,他們發現異步控制器和普通控制器之間沒有區別。

這不是因為它使它更友好或其他; 一個很好的例子就是如果你有一個請求開始渲染圖像; 傳統上,當CPU呈現圖像時,將消耗該請求線程。 使用異步模式,您仍然可以呈現圖像,但可以釋放該線程以便在呈現完成之前為另一個Web請求提供服務,從而為您的服務器提供更高的吞吐量。

一種策略是在客戶端上設置輪詢。 生成結果后,將通知用戶。

暫無
暫無

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

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