无法在ASP.Net vNext项目中使用会话

海德

我有一个使用Session的ASP.Net vNext项目。但是我在尝试获取/设置会话中的值时遇到此错误。

Microsoft.AspNet.Http.Core.dll中发生类型'System.InvalidOperationException'的异常,但未在用户代码中处理

附加信息:尚未为此应用程序或请求配置会话。

这是我的控制器方法:

    [AllowAnonymous]
    [HttpGet("/admin")]
    public IActionResult Index()
    {
        if (Context.Session.GetString("UserName") == null) // error thrown here
        {
            return RedirectToAction("Login");
        }

        return View();
    }

我也在文件中添加了KVM软件包"Microsoft.AspNet.Session": "1.0.0-beta3"project.json并配置了我的应用程序以通过会话使用会话,Startup.cs如下所示:

public void ConfigureServices(IServiceCollection services)
{
    // code removed for brevity
    services.AddCachingServices();
    services.AddSessionServices();
}

public void Configure(IApplicationBuilder app)
    {
        app.UseMvc();
        app.UseInMemorySession(configure: s => s.IdleTimeout = TimeSpan.FromMinutes(30));
    }

我查看了Github上的vNext文档,但是它没有提供有关ASP.Net会话的大量信息。我究竟做错了什么?

海德

所以我想通了。解决方法实际上非常简单。由于ASP.Net将中间件顺序地添加到请求管道中,所以我需要做的就是在使用MVC之前使用会话中间件。更多信息在这里:https : //stackoverflow.com/a/29569746/832546

固定代码:

public void Configure(IApplicationBuilder app)
{
    app.UseInMemorySession(configure: s => s.IdleTimeout = TimeSpan.FromMinutes(30));
    app.UseMvc();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Facebook的社交登录无法在ASP.Net MVC 5项目中使用

在ASP.NET项目中使用vs线程

在测试项目中使用ASP.NET Core的ConfigurationBuilder

在ASP.NET MVC项目中使用WebControl

在ASP.NET MVC项目中使用Serilog

如何在ASP.NET MVC项目中使用.NET的GroupDocs Viewer?

在ASP NET MVC 6项目中使用System.Net.Mail

在ASP .Net Core项目中使用.Net用户控件(.ascx)的可能性

无法在asp.net vnext类库中使用必需的属性

如何在ASP vNext中使用会话

在现有的ASP.NET MVC 5项目中使用WebAPI 2.2

在asp.net mvc4项目中使用draggable()jQuery函数?

我可以在ASP.NET MVC 5(非MVC核心)项目中使用ILoggerFactory吗?

如何在Visual Studio ASP.NET Core项目中使用语义UI反应?

在没有 EF Core 参考的 ASP.NET 项目中使用 EF 存储?

在ASP.NET Core项目中使用没有实体框架的SQLLite数据库

如何在ASP.NET核心项目中使用多个gulpfile.js?

为什么在 ASP.NET 项目中使用 Angular 2?

在ASP.NET网站项目中使用64位引用-设计时问题

如何在ASP.NET MVC ReactJS项目中使用“导入”?

在 asp.net core 2 项目中使用路由提供角度服务

如何在ASP.NET Core项目中使用MStest测试Ok()结果

在ASP.NET Core 3.0 Web API项目中使用WebApiContrib.Core.Formatter.Csv

在ASP.NET MVC项目中使用实体框架代码优先时登录失败错误

在 ASP.NET 项目中使用 SqlCommand 和 SqlConnection 对象的最佳方法是什么

我无法在.net 4.7项目中使用System.Runtime 4.3.0

在ASP.NET 4.5项目中使用wwwroot文件夹(ASP.NET Core样式)

如何从asp.net vnext项目中的wwwroot访问node_modules文件夹

如何在ASP.NET vNext中使用nuget包?