1

マスターページを含むasp.netアプリがあります。10分後にセッションタイムアウトが必要です。そのためにjavascriptコードブロックがあります。すべてのページにjavascriptコードブロックを配置するのではなく、セッションタイムアウトを実行する他のより効率的な方法はありますか?(私はメンバーシッププロバイダーを使用していません)。

4

4 に答える 4

3

web.config でセッションのタイムアウトを変更できます

<sessionState 
   mode="InProc" 
   stateConnectionString="tcpip=127.0.0.1:42424" 
   stateNetworkTimeout="10" 
   sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" 
   sqlCommandTimeout="30" 
   customProvider="" 
   cookieless="UseCookies" 
   cookieName="ASP.NET_SessionId" 
   timeout="10" 
   allowCustomSqlDatabase="false" 
   regenerateExpiredSessionId="true" 
   partitionResolverType="" 
   useHostingIdentity="true">
   <providers>
      <clear />
   </providers>
</sessionState>

参照: http://msdn.microsoft.com/en-us/library/h6bb9cz9(vs.80).aspx

于 2012-07-22T16:19:38.313 に答える
2

JavaScript を使用するのは悪い考えです。サーバー上で必要なことを簡単に行うことができます。

これを Global.asax に追加します

protected void Session_Start(object sender, EventArgs e)
{
   Session.Timeout = 10;
}

そしてこれをあなたのweb.configに

    <configuration>
    <system.web>
       <sessionState timeout="10"></sessionState>
    </system.web>
    </configuration>

効果的に機能させるには、両方を追加する必要があります。

于 2012-07-22T16:19:49.817 に答える
2

これはサーバー側で簡単に実行できます。クライアント側でセッションの時間を計るポイントはありません。その場合、マスター ページまたは webconfig または global.asax で一元的に行うことができます。

于 2012-07-22T16:20:31.823 に答える
2

以下を追加して web.config ファイルを変更し、セッション タイムアウトを設定できます。

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

次のコードを使用して、C# から実行できます。

Session.Timeout = 10; 
于 2012-07-22T16:25:59.717 に答える