通過中介軟體鏈傳遞資料
從文件 :
該 HttpContext.Items 集合是儲存在處理特定請求時,才需要資料的最佳位置。每次請求後都會丟棄其內容。它最好用作在請求期間在不同時間點操作的元件或中介軟體之間進行通訊的手段,並且彼此之間沒有直接關係來傳遞引數或返回值。
HttpContext.Items
是 IDictionary<object, object>
型別的簡單字典集合。這個系列是
- 從
HttpRequest
開始提供 - 並在每個請求結束時被丟棄。
你可以通過簡單地為鍵控條目分配值或通過請求給定鍵的值來訪問它。
例如,一些簡單的中介軟體可以向 Items 集合新增一些東西:
app.Use(async (context, next) =>
{
// perform some verification
context.Items["isVerified"] = true;
await next.Invoke();
});
後來在管道中,另一塊中介軟體可以訪問它:
app.Run(async (context) =>
{
await context.Response.WriteAsync("Verified request? " + context.Items["isVerified"]);
});