1

asp.net ID アプリケーション(oath & owin)を作成し、登録して何人かのユーザーを作成しました。このアプリを azure Web アプリ サービスでホストしたので、これを 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>

指定されたデータベースに対してセッションテーブルを作成しましたが、その後、どのユーザーに対してもログインが機能しませんでした?!!!! どうして???

また、以下のように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>
4

0 に答える 0