ASP.NETのWebフォームでIISのタイムアウトの設定値を変更しても反映されません。
アプリケーション名はTestWeb
環境は次の通りです。
・開発ツール Microsoft Visual Studio Community 2019 Version 16.10.2
・.NET Framework Version 4.8.04084
・IIS Version 21H1(OSビルド 19043.1165)
・使用ブラウザ Chrome
・FORM認証使用
新規プロジェクト作成で認証は「認証なし」で作成したと思います。
ログインフォームで担当コードを入力し、担当マスタから担当者名を読み、その担当者名をSession変数に格納し、その後各フォームのPage_Loadイベント時にSession変数の担当者名が空白(String.Empty)であればログイン画面に戻す処理をしています。
試したこと(その1)
・IISのアプリケーションプール内のTestWebの「詳細設定」のアイドル状態のタイムアウト(分)を120に変更
・IISのサイトツリー下のDefault Web Siteの「セッション状態」-「Cookieの設定」内の「タイムアウト」を120に変更。Default Web Siteの認証は匿名認証が有効になっており、ASP.NET偽装とフォーム認証は無効になっています。
・同様にDefault Web Site下のアプリケーション TestWebの「セッション状態」-「Cookieの設定」内の「タイムアウト」を120に変更。「認証」-「フォーム認証」は有効にしているため、「編集」メニューから認証Cookieのタイムアウト(分)を120に変更。
・TestWeb内のWeb.configの該当部分は下記の通りです。
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="TestWeb.NET" protection="All" timeout="120" />
</authentication>
上記の設定を行った後に念のためにIISのアプリケーションを再起動しました。
試したこと(その2)
検索条件を入力するフォーム、結果フォームのPage_LoadイベントにSession.Timeout = 120 を指定してみました。
ところがTestWebのLogin.aspxからログイン後にデータ検索を行い、放置して25分経過させて検索結果のリンクをクリックするとログイン画面に戻ってしまいます。
データ検索は顧客検索で一覧表示の顧客IDにリンクが張ってあり、クリックすることで詳細画面に遷移します。
他に設定するべき箇所はあるでしょうか?
アドバイスの程よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー