2017-05-28 19 views
-1

私はAsp.Net MVCアプリケーションを持っています。これは単なるアプローチなので、コードを提供することはできません。Asp.Netセッションのタイムアウトに関するアラートを表示

私が達成したいのは、セッションが終了して、ユーザーがどのページにいても警告を表示する場合です。

enter image description here

(私は最初のアラートを表示して開始するが、これは遠い)のAzureからの絵は私が達成したいかを示しています。

したがって、セッションが終了したかどうかを検出するasp.netによって提供される関数または何かがありますか?第二に、アラートをどのように表示しますか?

答えて

1

asp.netには、セッションが終了したこと、または終了することをユーザーに通知する特定の機能はありません。しかし、この機能は現在、多くのWebサイトで見られています。 セッションは、ポストバック要求を受信したときにサーバーによって開始されます。特定の期間ユーザーアクションがない場合、セッションは終了します。 javascriptアラートを使用して、セッションタイムアウトに関するポップアップをユーザーに表示できます。

  1. は、クライアント側でのタイマーを実行し、期限切れになるときにユーザーに通知:

    私は2つの方法を提案します。たとえば。あなたのセッションのタイムアウトが5分の場合、 は4分後にユーザーに通知し、 アクションが実行されていない場合にセッションが1分で失効することがあります。

  2. 第2のアプローチは、ユーザが 警戒して[OK]ボタンをクリックしたときに(あなたのセッションはすぐに期限切れになりますか、自動的にコントローラへのポストバック要求を開始することで、あなたはログアウトされます。あなたはセッションを延長したい か? )
2

残念ながら、これには簡単な答えはありません。その理由は、セッションにアクセスするようにサービスを設定しない限り、セッションを確認するためにサーバにpingを実行すると、実際にはセッションのタイムアウトが更新されるためです。 "偽の"方法は、セッションタイムアウトに等しいJavaScript時間を設定することです。あなたは、任意のajax呼び出しでそのタイマーをリセットする必要があります。

もっと複雑な解決策は、sessionRoutoutで加入者に通知する、SignalRのような持続的な接続技術を使用することです。

関連する問題