Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何修复”;提供程序必须实现类';System.Web.SessionState.SessionStateStoreProviderBase';错误:asp.net_Asp.net_Redis_Azure Caching - Fatal编程技术网

“如何修复”;提供程序必须实现类';System.Web.SessionState.SessionStateStoreProviderBase';错误:asp.net

“如何修复”;提供程序必须实现类';System.Web.SessionState.SessionStateStoreProviderBase';错误:asp.net,asp.net,redis,azure-caching,Asp.net,Redis,Azure Caching,我正在尝试为redis实现Azure缓存,以管理我的应用程序中的会话。这在本地主机上运行。托管到IIS后,webconfig文件中出现编译错误 我已经在azure portal中为redis创建了azure缓存。我对代码做了相应的修改。当我在本地主机上运行源代码时,它就工作了。托管到IIS后,出现以下错误 “提供程序必须实现该类 System.Web.SessionState.SessionStateStoreProviderBase 模块添加如下 <system.webServer&

我正在尝试为redis实现Azure缓存,以管理我的应用程序中的会话。这在本地主机上运行。托管到IIS后,webconfig文件中出现编译错误

我已经在azure portal中为redis创建了azure缓存。我对代码做了相应的修改。当我在本地主机上运行源代码时,它就工作了。托管到IIS后,出现以下错误

“提供程序必须实现该类
System.Web.SessionState.SessionStateStoreProviderBase


模块添加如下

<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>


我希望会话值存储在用于redis的azure缓存上。但在IIS上托管后,会话值不起作用。

对于路过的可能有相同问题且添加会话标记不起作用的人,您的应用程序池可能配置为“Classic”

从中,Microsoft.AspNet.SessionState.SessionStateModuleAsync似乎不支持经典应用程序池

您需要将其切换为“集成”,如下所示:


您可以在app.config/web.config下尝试

<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" />


如果这不起作用,如果您有选择,请使用非SSL端口,看看是否有效。

部署到IIS时是否转换web.config?@DdW-我遇到了相同的问题-配置如上所述,部署到Azure应用时通过octopus deploy转换web.configService@anD666小心变换,e特别是模块部分比较棘手。请查看转换后的最终结果,并与本地版本进行比较。@DdW-转换没有涉及模块部分。它只是添加了会话状态部分。@666您还需要模块部分。。。
<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" />