【问题标题】:ASP.NET MVC 6 AspNet.Session Errors - Unable to resolve service for type?ASP.NET MVC 6 AspNet.Session 错误 - 无法解析服务类型?
【发布时间】:2015-10-31 10:23:01
【问题描述】:

好的,所以最近我在使用用于 ASP.NET vNext (MVC 6) 的新 Microsoft.AspNet.Session 中间件时遇到了很多麻烦。我得到的错误,

无法解析服务类型 'Microsoft.Framework.OptionsModel.ConfigureOptions[Microsoft.AspNet.Session.SessionOptions] 在尝试激活时 'Microsoft.AspNet.Session.SessionMiddleware'

无论会话使用情况如何,都会在所有页面上发生。我使用的 DNVM 版本是 Beta5 x86,项目中的所有包也是 Beta5。该项目本身是尝试将 ASP.NET MVC 5 项目移植到 MVC 6,但运气不佳。以下是可能重要的资源的链接:

我的配置似乎有问题,但我不知道该怎么办...请发送帮助 Dx

【问题讨论】:

标签: c# asp.net session middleware asp.net-core-mvc


【解决方案1】:

尝试激活“Microsoft.AspNetCore.Session.SessionMiddleware”时无法解析“Microsoft.AspNetCore.Session.ISessionStore”类型的服务

如果您在 ASP.NET Core 中收到此错误消息,则需要在 Startup.cs 中配置会话服务:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc()
        .AddSessionStateTempDataProvider();
    services.AddSession();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseSession();
    app.UseMvcWithDefaultRoute();
}

【讨论】:

  • 在 2020 年 2 月尝试过 - 看来您还需要在 services.AddSession() 之前添加 services.AddDistributedMemoryCache()。
  • 是的,是的,是的! @Tobe 这仍然是我核心 3.1.301 所需要的。
【解决方案2】:

此代码可以帮助您...

在 Startup.cs 文件中

public void ConfigureServices(IServiceCollection services)
    {
        ....
        services.AddSession(options =>
        {
            options.IdleTimeout = TimeSpan.FromMinutes(30);//We set Time here 
            options.Cookie.HttpOnly = true;
            options.Cookie.IsEssential = true;
        });
        ...
    }



public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseSession();
        app.UseMvc();
    }

谢谢!!!

【讨论】:

    【解决方案3】:

    您可以在启动时将会话中间件添加到配置方法中。

    public void ConfigureServices(IServiceCollection services) {
        services.AddSession();
        services.AddMvc();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-30
      • 2023-03-24
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2022-12-01
      相关资源
      最近更新 更多