MVC系統學習8 AsyncController

2022-07-19 00:30:23 字數 747 閱讀 4861

關於為什麼使用非同步controller,這裡不做備忘,三歲小孩都懂。主要的備忘是如何使用asynccontroller。

//

這個action以async結尾,並且返回值是void

public

void

testasync()

, null

); }

//這個action以completed為字尾非同步action結束後呼叫的函式,返回值為actionresult

public actionresult testcompleted(string

content)

view code

此外還要另外注意幾點:

1.對於非同步請求,當發起另外乙個執行緒去處理請求沒有返回怎麼辦,比如丟擲異常?框架預設的超時時間是45秒,在45秒到了之後框架會丟擲乙個system.timeoutexception以中止這個非同步請求,我們可以通過[asynctimeout((int duration)]來設定超時時間,還可以通過noasynctimeout或者[asynctimeout(timeout.infinite)]來設定永不過期。

2.可以使用asyncmanager.finish方法來中止所有還未結束的非同步操作,進而呼叫completed action,如果被強制中止的非同步操作還沒有成功返回某些引數時,completed將使用這些引數的預設值(如int為0,string為empty)。

3.asyncmanager.sync方法的作用

Mvc系統學習8 AsyncController

關於為什麼使用非同步controller,這裡不做備忘,三歲小孩都懂。主要的備忘是如何使用asynccontroller。view code 1 這個action以async結尾,並且返回值是void 2public void testasync 3,null 17 18 19 這個action以c...

MVC系統學習1 MVC執行流程

用mvc來做開發也有一段時間了,但是感覺一直沒入門,就徘徊在似懂非懂的層次,和去年剛畢業學習webform時一樣,當時通過張子陽老兄的幾篇文章,明白了請求處理流程,頁面生命週期才真正明白了webform的強大。由於mvc的學習資料比較少,牛人的技術部落格也只是講一些基礎的而已。因此決定通過asp.n...

MVC系統學習1 MVC執行流程

用mvc來做開發也有一段時間了,但是感覺一直沒入門,就徘徊在似懂非懂的層次,和去年剛畢業學習webform時一樣,當時通過張子陽老兄的幾篇文章,明白了請求處理流程,頁面生命週期才真正明白了webform的強大。由於mvc的學習資料比較少,牛人的技術部落格也只是講一些基礎的而已。因此決定通過asp.n...