在asp.net身份应用程序

时间:2016-04-13 09:51:12

标签: asp.net asp.net-identity azure-web-sites session-state azure-redis-cache

我创建了asp.net identity application(oath& owin)并创建了一些注册用户,并且我在azure web app服务上托管了这个应用程序,所以当我想将这个从1个实例扩展到很多时我需要更改inproc会话状态模式,根据建议自定义或使用redis。

现有

 <sessionState mode="InProc" customProvider="DefaultSessionProvider" >
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>

已更改为

<sessionState mode="Custom" customProvider="DefaultSessionProvider" >
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>

虽然它已针对指向数据库创建了 Sessions 表,但在此之后登录对任何用户都无效?为什么???

此外,我尝试将其替换为redis提供程序,如下所示,但同样的问题

<sessionState mode="Custom" customProvider="RedisSessionProvider">
      <providers>

        <add name="RedisSessionProvider"
             type="Microsoft.Web.Redis.RedisSessionStateProvider"
             port="6380"
             host="[my url]"
             accessKey="[my key]"
             ssl="true" />

      </providers>
    </sessionState>

0 个答案:

没有答案