5

當我有一個自定義的ASP核心中間件,我想檢索請求的取消標記定製AspCore中間件取消標記

我試着將它添加到的調用像這樣的簽名:

public async Task Invoke(HttpContext context,CancellationToken token) 

但作爲兒子,我添加它不再被調用。

我在做什麼錯?

回答

6

我認爲這個想法不能從中間件中取消對中間件的調用,如果你調用一些接受取消令牌的異步任務,那麼你可以創建一個並將它傳遞給你正在調用的內容在裏面。

一個常見的場景是取消的任務,如果該請求被中止,所以你可以創建這樣的標記:

CancellationToken CancellationToken => context?.RequestAborted ?? CancellationToken.None; 

,然後調用一些異步服務一樣獲取數據或查詢數據庫,如果該請求被中止,然後取消請求應該發生

+0

是看起來像我一直在尋找thx –