我正在做一个MVC 5 APP
,我正在使用这样的PostAsJsonAsync
调用 API 控制器
HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl + "Method/Action",param);
我收到此错误
[InvalidOperationException:异步模块或处理程序已完成,而异步操作仍处于挂起状态。
我正在做这个来自Global.asax
Session_Start
的电话.
目的是注册访问该网站的每个人。 我必须修改Session_Start
以async void Session_Start
如何应对这种情况?使调用过程非异步?
我看 这里
并替换
public static async Task<long> Insert_SessionStart(
{
HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl + "Method/Action", param);
if (response.IsSuccessStatusCode)
return response.Content.ReadAsAsync<long>().Result;
}
为此
public static long Insert_SessionStart()
{
var response = client.PostAsJsonAsync(apiUrl + "Method/acti", param).Result;
if (response.IsSuccessStatusCode)
return response.Content.ReadAsAsync<long>().GetAwaiter().GetResult();
}
这样我就可以避免await
方法放在Session
_start中。