await和async在一般處理程式中的使用

2021-09-07 04:34:01 字數 1861 閱讀 2577

有個小專案,前端使用的html頁面,那服務端的業務處理就採用最簡單的一般處理程式了,之前一直在用,覺得一直用一種方式,確實挺蛋疼的,之前也有了解過async和await的內容。就想著自己折騰折騰。

前端ajax請求

"

">"

dvmsg

">

一般處理程式

///

///getuserinfoasync 的摘要說明

以為這樣就大功告成了。其實這才是悲劇的開始。

滿足使用async和await的條件了?

呼叫的目標方法必須是async的。所以就想著在processrequest方法前加個async就可以了吧。其實不然,在使用async的地方也有特別的要求。

詳情

大概意思就是非同步操作,只能在非同步模組中進行。所以就很奇怪了。之前在控制台程式中,也是給main方法直接新增async的。這裡就不行了。

經過查詢,發現這樣的乙個類

using

system;

using

system.componentmodel;

using

system.threading.tasks;

namespace

system.web

//摘要:

//當在派生類中重寫時,將提供處理同步任務的**。

////

引數:

//context:

//http 上下文。

////

異常:

//方法實現但不提供任何預設用於非同步任務的處理程式。

摘要:

//當在派生類中重寫時,將提供處理非同步任務的**。

////

引數:

//context:

//http 上下文。

////

返回結果:

//非同步任務。

發現這個抽象類實現自ihttpasynchandler, ihttphandler這兩個介面,肯定能滿足需求了。那麼接下來就對一般處理程式進行改造

///

///getuserinfoasync 的摘要說明

}

這樣就很方便的將一般處理程式變成乙個非同步處理的了。

沒事折騰一下**,最近在中看到關於await和async的文章,另外手上也有乙個專案,就想著能不能使用非同步的方式。所以就有了這篇文章。

await和async在一般處理程式中的使用

有個小專案,前端使用的html頁面,那服務端的業務處理就採用最簡單的一般處理程式了,之前一直在用,覺得一直用一種方式,確實挺蛋疼的,之前也有了解過async和await的內容。就想著自己折騰折騰。前端ajax請求 dvmsg 一般處理程式 getuserinfoasync 的摘要說明 以為這樣就大功...

關於async和await的一些誤區例項詳解

微軟官方的msdn上說async和await是 非同步 但是不少人 包括筆者自己 都有一些誤區需要澄清 為什麼await語句之後沒有執行?不是非同步嗎?先舉乙個示例 如下 public partial class form1 form public form1 private async void ...

建構函式和一般函式

建構函式 構建創造物件時呼叫的函式,作用 可以給物件進行初始化。建立物件都必須要通過建構函式初始化。如果乙個類中沒有定義建構函式,那麼該類中就會有乙個預設的無參建構函式。如果在類中定義了指定的建構函式,那麼類中的預設建構函式就沒有了。建構函式和一般函式有什麼區別呢?建構函式 物件建立時,就會呼叫與之...