1

プロジェクトにいくつかのコードを調査して実装しましたが、それでも 20 分後にセッションがログアウトし、ログイン ページに戻ります。IIS アプリケーション プールにタイムアウトをどれだけ長く追加してhttpruntimesessionstate、動作しないようです。global.asaxIdle Timeout

web.config:

  <authentication mode="Forms">
      <forms name="__authcookie" loginUrl="LoginPage.aspx" timeout="60" protection="All" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
  </authentication>
  <sessionState mode="InProc" timeout="60" customProvider="AppFabricCacheSessionStoreProvider"></sessionState>
<membership>
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
  </providers>
</membership>
<profile>
  <providers>
    <clear />
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="NamedCache1" sharedId="SharedApp"/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
</profile>

グローバル.asax:

void Session_Start(object sender, EventArgs e)
        {
            // Code that runs when a new session is started
            Session.Timeout = 60;
        }
4

2 に答える 2

1

web.configこれをファイルに追加してみてください

<system.web>
    <authentication mode="Forms">
          <forms timeout="50"/>
    </authentication>
    <sessionState timeout="60"  />
</system.web>

また、セッションをタイムアウトさせたくない場合は、Asp.Net でセッション タイムアウトを回避してキープ アライブする方法に関するこの記事を読むことをお勧めします。

于 2012-05-11T08:35:50.757 に答える
0

タイムアウトするのはセッションではなく、認証である可能性があります。認証は<authentication>要素 (既定では .ASPXAUTH Cookie) を使用して制御されます。これは、セッション (既定では Aspnet_SessionId Cookie) とは異なります。

timeout要素の属性を使用します<authentication>

于 2012-05-11T08:36:29.603 に答える