问题是由于ASP.NET 5中的[FromBody]特性导致的,并且它会阻止AspNet.Mvc中的错误处理程序访问Request对象。因此,我们需要做的是将FromBodyAttribute替换为IFormCollection参数,然后在控制器操作中访问请求有效载荷并解析数据。
下面是一个代码示例:
//在控制器操作中接受IFormCollection参数
[HttpPost] public IActionResult Post(IFormCollection form) { //从有效载荷中获取值 var value = form["key"];
//将值存储到会话中
HttpContext.Session.SetString("key", value);
return Ok();
}
//在控制器操作中访问会话
[HttpGet] public IActionResult Get() { //从会话中读取值 var value = HttpContext.Session.GetString("key");
return Ok(value);
}