我正在尝试在Controller中为Session对象添加值,如下所示:
Request.HttpContext.Session.SetString("key, "value")
但是我收到了下一个错误:在响应开始后无法建立会话。
如何从控制器向Session对象添加值?
谢谢。
编辑:
这是代码:
public IActionResult SetValue()
{
Request.HttpContext.Session.SetString("user", "aam3");
return View();
}
答案 0 :(得分:3)
好的,我发现了问题,我在App.UseMvc
语句之前有一个自定义中间件,在那个中间件我有一行await Context.Response.WriteAsync("Testing Middleware")
,该行无条件启动了响应,因此我不是&# 39;稍后可以在控制器中更改会话。
谢谢。
答案 1 :(得分:1)
请试试这个。它对我有用,我正在使用CTP 6。
public IActionResult Index()
{
Context.Session.SetString("key", "value");
return View();
}
还要确保在Startup.cs文件中完成的操作非常重要。