當我看到關於等待第一條新聞,我感到非常興奮,我想使用它的很多方面。 其中之一就是在我的web框架中使用它來隱藏客戶端/服務器交換的異步方面,就像它在幾個框架中完成的一樣。 因此,這裏的交易:覆蓋連續狀態存儲/恢復算法?
我想編寫這樣的事情:
{
Page p = new Page();
FormResponse response = await p.Show();
var field1 = reponse.inputField["input1"];
...
}
我想開發要能寫在服務器上的代碼。正如你猜p.Show()
寫在HttpResponse對象的HTML代碼的形式顯示在頁面上,並傳送到客戶端的響應,因此,線程是 打死,我從來沒有達到,下一條指令(FormResponse response =
)。
因此,這裏是我的問題: 有沒有做這樣的事的方法嗎?我知道等待切割代碼,繼續打包它,爲我們做封閉,並在p.Show()完成時將它存儲在某個地方以便回調它。 但是在這裏,線程將被殺死,這是我的代碼,它接收來自Page的提交響應,必須處理它。所以我必須恢復「等待」創建的延續並自己執行。
我收到高或是否有可能?
編輯:額外的相關信息
我解釋一點,但我們需要的例子。 想象一下,您希望對web服務進行異步調用,您只需使用await然後調用Web即可。 一個網不顯示任何頁面時,它返回的信息,您可以繼續下一個指令,所以用一個網,我們有:客戶端 - >服務器A [-callwebs->服務器B - >]服務器A - >客戶端。現在,設想一個網絡必須顯示用戶界面以從用戶那裏獲取一些信息,我們可以將這種網絡稱爲UIwebs(由多個webapp調用的可重複使用的接口),它顯示UI,抓取信息,並將其發回給調用者。我們有:客戶端 - >服務器A [-response_redirect->客戶端-get->服務器B(這裏是UIwebs,客戶端輸入什麼)-response_redirect->客戶端-get->]服務器A - >客戶端
我把括號之間具有由developper的方式來處理:
這樣一個經典的網,我能想象異步頁「沉睡」等待腹板至反應,但有了UI網頁,我們必須響應重定向到客戶端,因此該頁面是爲asp.net完成的,並且SynchronizationContext表示沒有更多的異步指令需要等待。
事實上,這裏我需要的是一樣打開Web服務器上,併發送請求給它至極承擔責任:水災只恢復的await後執行的代碼所需要的一切。
問候, 朱利安
我完成了我的問題:) – vans