【发布时间】:2025-12-25 16:40:11
【问题描述】:
Here 是一个与我发现的问题相关的问题,但它不起作用。
在网页表单的页面加载方法中,我想调用异步方法
void Page_Load(object sender, EventArgs e)
我想调用异步方法是因为我希望能够调用IdentityModel的GetUserInfoAsync方法
这就是我所拥有的
protected void Page_Load(object sender, EventArgs e)
{
var token = HttpContext.Current.Request.Headers.Get("Authorization");
GetUserClaims(token).Wait();
}
public async Task GetUserClaims(string token)
{
var client = new HttpClient();
var response = await client.GetUserInfoAsync(new UserInfoRequest
{
Address = "https://localhost:44367/connect/userinfo",
Token = token,
});
var result = response.Claims;
}
当前的问题是我永远无法到达result = response.claims 部分。
GetUserClaims(token).Wait();
基于我上面链接的问题的答案。
我尝试的另一个选项是使用答案中的一个选项中提到的 PageAsyncTask 和 RegisterAsyncTask。
PageAsyncTask t = new PageAsyncTask(GetUserClaims(token));
但我得到了红色波浪状的东西,抱怨说
cannot convert from System.Threading.Task.Task to System.Func<System.Threading.Task.Task>
【问题讨论】:
-
“是一个与我发现的问题相关的问题,我发现它不起作用”为什么它不起作用
-
我想我有详细的解释。我已经根据该问题中提到的答案解释了我尝试了什么,以及当我尝试这些选项时发生了什么
标签: c# asynchronous webforms async-await