ぬるぽ

ゆるくプログラミングなどを語っていくブログ

ASP.NETのセッションにいつて

ASP.NETで業務向けのwebサイト保守をしています。

Form認証を使用しており、セッションが切れた際にログイン画面に戻りたいがアプリケーションエラーになるとのことで調査していました。

まず、セッションタイムアウトとForm認証のタイムアウトが同じ60分に設定されていたのでセッションタイムアウトの時間を60分より長く設定し、必ずForm認証が先にタイムアウトするようにしました。

でも何故か20分でセッションタイムアウトになりアプリケーションエラーしてしまいます。

configの設定だけでは駄目らしい。

どうやらデフォルトでワーカプロセスが20分で切れる為、それに伴ってセッションタイムアウトするらしい。

方法としてはコネクションプールのアイドル状態をデフォルトの20分から変更するか、セッションステートをステートサービスにするか検討中です。ステートサービスにするにはサービスで起動する必要があります。