asp.net-mvc - 提供者必须实现类“System.Web.SessionState.SessionStateStoreProviderBase”
问题描述
我正在尝试使用 Redis 会话状态集成托管在 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" />
推荐阅读
- javascript - 如何创建 POST 请求以从本地路径将文件存储在服务器上 - React Native
- jquery - Jquery dragend 永远不会被触发
- php - 从客户端实时接收数据并在没有数据库的php页面上显示
- reactjs - 使用 fetch 时如何做出反应以等待直到检索到 api 数据
- java - 如果某些字段具有集合类型,如何覆盖等于和哈希码?
- mysql - 将 UTF-8 字符串从 SAS 写入 MySQL
- python - hackerank 显示此消息: ~ 标准输出无响应 ~ 和 ValueError: invalid literal for int() with base 10: '2 3 6 6 5'
- asp.net - Asp.Net 如何获取正则表达式的字符串结果而不仅仅是一个
- excel - 为数千个单元格添加后缀 VBA
- swift - 检查用户是否登录了firebase