ASP.NET Core 1.0中的会话

Mag*_*adh 3 session asp.net-core

我试图在我的ASP.NET Core 1.0(vNEXT)项目中使用Session.这就是我的代码的样子.

public class Startup
{
    // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
    public void ConfigureServices(IServiceCollection services)
    {
        //-- Enabled MVC Pattern
        services.AddMvc();

        //-- Enable Session handling
        services.AddCachingServices();
        services.AddSessionServices();
    }

    public void Configure(IApplicationBuilder app)
    {
        //-- User MVC
        app.UseMvc();

        //-- Use Session
        app.UseSession();
        app.UseInMemorySession();
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在我被卡住了.我不知道如何在我的控制器或页面中设置或从会话中获取数据.我试过了.Context.Session.但它没有实例化,因此当我尝试访问该属性时会抛出一个invalidexception.

任何拥有如何使其工作的代码示例的人.

提前致谢.

编辑:

这是screendump我的控制器中base.context.Session的样子. 在此输入图像描述

我没有SetString()和GetString(),只有Set()和TryGet()......方法......

这就是我的project.json文件的样子.

"version": "1.0.0-*",
"dependencies": {
    "Microsoft.AspNet.Server.IIS":  "1.0.0-beta3",
    "Microsoft.AspNet.Mvc": "6.0.0-beta3",
    "Microsoft.AspNet.Session":  "1.0.0-beta3"

},
Run Code Online (Sandbox Code Playgroud)

Eil*_*lon 8

将我的评论改为答案:

在需要它之前添加会话中间件.否则,它将无法在请求管道中的正确位置使用.

中间件本质上是按顺序运行的 - 您添加的每个中间件组件都按顺序.UseXyz()运行.因此,如果MVC在Session之前运行,那么MVC无法从Session中间件中看到会话获取.