我正在嘗試將用戶代理請求標頭中的簡單字串寫入瀏覽器。
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", (context) => return context.Request.Headers["User-Agent"].ToString(););
app.Run();
這會產生編譯錯誤Cannot convert expression type 'string' to return type 'System.Threading.Tasks.Task'。
什么是正確的解決方案。據我了解,我需要context.Request.Headers["User-Agent"].ToString();用 Task 包裝字串,但我真的不知道如何在箭頭函式中正確執行此操作。
uj5u.com熱心網友回復:
這將起作用:
app.MapGet("/", (HttpContext context) => context.Request.Headers["User-Agent"].ToString());
這是因為引數的名稱并不重要。如果你看圖片,你可以看到編譯器假設引數是 a HttpRequest,而不是 a HttpContext。

uj5u.com熱心網友回復:
做這樣的事情:
Task.FromResult(context.Request.Headers["User-Agent"].ToString());
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/450251.html
上一篇:如何對單個函式進行數千次多處理?
