2

社内ユーザー向けの社内アプリケーションを構築しました。ユーザーが非アクティブになった後のタイムアウトはなく、必要もありません。ユーザーは、一定時間 (30 分など) 非アクティブな状態が続くと、Web アプリを再び使用し始めると、異常な動作をするようになると不満を漏らしています。ボタンが機能しない、コンボ ボックスがドロップダウンしない、日付ピッカーが壊れている。ユーザーが一定期間操作を行わないと Javascript が無効になることは明らかです。

誰かがこの動作に遭遇したことがありますか?もしそうなら、どうすればそれを防ぐことができますか?

Web アプリは ASP.NET MVC 3.0 アプリであり、クライアント側の Ajax の作成を含む Telerik MVC 拡張機能を使用します。Windows Server 2003 Standard Edition 上の IIS 6.0 で実行されています。

4

6 に答える 6

1

スクリプトが約 30 分の TTL 値で Cookie を設定しているかどうかを確認します。

于 2011-07-08T21:04:09.463 に答える
1

セッションタイムアウトに関連していると思います。ユーザーが独自のセッション値を失ったため、サーバーとの ajax 統合はサーバーによって受け入れられず、ユーザーはサイトが機能しなくなったと考えます。説明によると、サイトが 30 分後に動作を停止し、ユーザーが更新ボタンでページを完全にリロードすると、セッション値が失われるため、ユーザーは再度ログインする必要があります。

これにはいくつかの解決策があります。

10分ごとにリロードする非表示のiframeを作成する必要があります

または

セッションのタイムアウト時間を 30 分 (1800 秒) 以上延長します

または

定期的に ajax リクエストをサーバーに送信して、接続を維持します。

于 2011-07-08T21:05:43.517 に答える
0

Javascript は機能を停止していません。あなたのセッションはどこかでタイムアウトしています。セッション Cookie が無効になっているため、サイトの動的コンポーネントがサーバーへのリクエストに失敗しています。セッションが最初に設定されている場所を見つけ、セッションの有効期限を長くする必要があります。

于 2011-07-08T21:50:33.493 に答える
0

最初に、特定の間隔でイベントを発生させて、JavaScriptが実際に遅れ始めているかどうか、または他の人が示唆しているようにセッションタイムアウトであるかどうかを確認します。

ドキュメントの本文のどこかにこの関数を追加します。

window.onload = function() {
    setInterval(messageLogger, 15000);
};
function messageLogger() {
    var now = new Date();
    console.log(now.getMinutes()); //Or now.getTime() or whatever makes the most sense to you
}

コンソールを開き、ページをしばらく非アクティブにした後、それを監視します。15 秒ごとに無期限に起動し続ける場合は、javascript が無効になっておらず、javascript コードに問題がある可能性もありません。その時点で、それがセッションの問題であるかどうかを調べ始めます。ログ メッセージが遅延し始めている (または停止している) ことに気付いた場合は、JavaScript のどこかでメモリ リークが発生しています。

于 2011-07-08T21:28:30.790 に答える
0

ちょっと待って。これらのユーザーに開発サーバーでこれをテストしてもらいました。彼らはこの問題をまったく抱えていません。開発サーバーでの違いを見つけました。クライアント証明書を要求することをいじっていました。IIS のクライアント証明書設定を「クライアント証明書を受け入れる」に設定しました。これにより、多くの奇妙なクライアント側の動作が発生し、ブラウザと OS の組み合わせに依存していました。これを「クライアント証明書を無視する」に戻すと、この問題は完全に解消されたようです。

于 2011-09-22T23:34:00.787 に答える
0

これはオフベースである可能性がありますが、この種の動作を引き起こすメモリ リークが発生する場合があります。gmailでこの問題に遭遇しました。バックグラウンドで実行されているスクリプトがそれを実行できます。これが発生したときにブラウザが使用しているメモリの量を特定できますか?

于 2011-07-08T21:07:21.603 に答える