asp.net-mvc - 提供者必须实现类 'System.Web.SessionState.SessionStateStoreProviderBase'

标签 asp.net-mvc redis azure-caching

我正在尝试使用 Redis session 状态集成托管在 Azure 应用服务中的 .net 4.6.2 MVC 应用程序。

我已经通过 nuget 安装了这些软件包,并将以下项目添加到 web.config

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="host-name" accessKey="access-key" ssl="true" />
  </providers>   
</sessionState>

根据 Google 结果答案添加了以下模块...
<system.webServer>
  <modules>
    <remove name="Session" />
    <add name="Session" type="Microsoft.AspNet.SessionState.SessionStateModuleAsync, Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode" />
  </modules>
</system.webServer>

我仍然收到一个配置错误,说提供者必须实现类“System.Web.SessionState.SessionStateStoreProviderBase”,我看不出还有什么遗漏。

在通过 Octopus Deploy 部署包期间正在转换 web.config,但看不到生成的配置有任何问题。

有没有人对如何解决这个问题有任何想法?

谢谢

最佳答案

当仅启用 SSL 时,我在我们的实现中遇到了类似的问题。切换到非 SSL 端口后,它开始工作。我不确定为什么会这样。如果您可以选择使用非 SSL 端口,不妨试一试
还要确保在配置中添加此条目

<modules>
<remove name="Session" />
<add name="Session" type="Microsoft.AspNet.SessionState.SessionStateModuleAsync,Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode" />

关于asp.net-mvc - 提供者必须实现类 'System.Web.SessionState.SessionStateStoreProviderBase',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60760994/

相关文章:

c# - 在 Azure 上缓存 ASP.NET 页面

asp.net - ASP.NET MVC 1 向前兼容 ASP.NET MVC 2 吗?

c# - 如何在鼠标单击时关闭 Bootstrap 警告警报?

asp.net-mvc - 编译 MVC 和预编译 View 并部署到 Azure WebRole

redis - 如何在 redis lua 脚本中运行 redis monitor 命令而不是 redis-cli monitor

azure - 缓存诊断建议使用 20GB 的本地存储(!)。为什么?

azure-cdn - 为什么 azure cdn 返回带有自定义域的旧版本文件

javascript - Dropzone JS 不是部分 View 中的函数错误

javascript - 如何保证邀请码在Redis中是唯一的

redis - client.on() 是什么意思并解释下面的代码?