在Controller中添加会话值

时间:2015-03-10 21:49:55

标签: asp.net-core-mvc

我正在尝试在Controller中为Session对象添加值,如下所示:

Request.HttpContext.Session.SetString("key, "value")

但是我收到了下一个错误:在响应开始后无法建立会话。

如何从控制器向Session对象添加值?

谢谢。

编辑:

这是代码:

public IActionResult SetValue()
{
     Request.HttpContext.Session.SetString("user", "aam3");
     return View();
}

2 个答案:

答案 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文件中完成的操作非常重要。