gpt4 book ai didi

ASP.NET Core 1.0 中的 session

转载 作者:行者123 更新时间:2023-12-02 14:09:39 24 4
gpt4 key购买 nike

我正在尝试在 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();
}
}

但现在我陷入困境了。我不知道如何在 Controller 或页面中的 session 中设置或获取数据。我尝试过 this.Context.Session。但它没有实例化,因此当我尝试访问该属性时会抛出 invalidException。

任何有关于如何使其工作的代码示例的人。

提前致谢。

编辑:

这是我的 Controller 中的 base.context.Session 的屏幕转储。 enter image description here

而且我没有 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"

},

最佳答案

将我的评论更改为答案:

在需要它的任何东西之前添加 session 中间件。否则,它将无法在请求管道中的正确位置使用。

中间件本质上是按顺序运行的 - 您使用 .UseXyz() 添加的每个中间件组件都是按顺序运行的。所以如果MVC在Session之前运行,那么MVC就看不到从Session中间件获取的session。

关于ASP.NET Core 1.0 中的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com