4

ユーザーログイン時にuser_idをSession変数に保存し、2番目のページでuser_idが存在するかどうかをページの読み込みで確認しています。そうでない場合は、ログインページにリダイレクトしますが、ログインして数秒後に次のページにリダイレクトすると、ページを更新します。セッションがnullであり、サインインページにリダイレクトされます。アプリケーション全体で発生します。すべてのソリューションを試しましたが、すべて無駄です。

もう1つのことは、アプリケーションが開発サーバーとLANのローカルIISで正常に動作していることですが、ライブサーバーではこの問題が発生しています。

解決策を提案してください。web.configのProcでセッションタイムアウトを分単位で定義しています。

前もって感謝します

4

5 に答える 5

0

サーバーのクラスターを使用している可能性はありますか? ネットワーク負荷分散により、クライアントが毎回別のサーバーに再ルーティングされる場合があります。その場合、NLB を再構成してクライアントを 1 つのサーバーに保持するか、セッション共有を設定する必要があります。

また、アプリケーション プールに、それ自体を頻繁にリサイクルするためのわいせつなルールがないことも確認してください。

于 2013-01-23T18:41:19.177 に答える
0

<httpRuntime delayNotificationTimeout=""/>web.configに追加できます。続きを見る

また

これを試して

<authentication mode="Forms">
  <forms loginUrl="/loginurl" timeout="2880" />
</authentication>
于 2013-01-23T09:37:25.743 に答える
0

私が遭遇した 1 つのセッションの問題は、ここで役立つかもしれませんが、特定の企業のユーザーはセッションをかなり早く終了させますが、他のユーザーは問題なく終了するということです。多くのテストを行った後、オフィスから Web サイトに接続しているユーザーには問題がありましたが、自宅から接続している同じユーザーには問題がないことがわかりました。

彼らの会社は、すべての送信 Web 要求に対して単一の IP (または IP のセット) を使用するように設定されています。この会社には、サイト外アクセス用に複数の IP があり、その IP は要求ごとに変更されました (または変更される可能性があります)。これにより、Web サイトのセッションがリセットされ、ログアウトされます。

これについてはまだ修正またはチェックを実装している最中なので、誰にでもできる修正を提供することはできませんが、調査する必要があります。これはあなたに何が起こっているかを説明します。

于 2013-01-23T17:26:57.507 に答える
0

これをweb.configで試してください

<configuration>
 <system.web>
   <sessionState mode="InProc" timeout="90"></sessionState>
 </system.web>
</configuration>
于 2013-01-23T10:09:09.377 に答える