2009-06-18 9 views
1

ASP.NET MVCでは、ユーザーが特定のページにどれくらいの期間滞在していたかを示す良い方法は何ですか?たとえば、ユーザーに何かを選択させてから、ユーザーに30秒間何かをさせてもらいたいとします。良いリンクや本のページへの参照は非常に高く評価されるだろう。ASP.NET MVCのタイミングユーザーアクセス、初心者

ありがとうございます!

答えて

3

あなたは、ユーザーがどこかに行って、どのくらいの時間、彼らががあったときのトラックに保つことができます(またはその小切手帳のバランスを取りながら、ページが開いていたが...あなたのアイデアを得ます)。問題は、30秒間XYZを見ることができるようにするために、何らかの形式のクライアントコントローラが必要なことです。そして、それらを見える次のページにリダイレクトします。だから、あなたは自分の時間の期限が切れているときに、リソースから離れてそれらを取るためにはJavaScriptクライアント側のタイマーを採用する必要があり、時間のX量のリソースを参照するようにユーザーをワンます。これは、静的にクライアントにコード化された時間で行うことができます(クライアントによって変更される可能性がある)か、時間が経過したかどうかを確認するために、サーバーにAJAX要求を行うことによって行うことができます。または、埋め込みフラッシュプレーヤーで行うこともできます。ここで重要なのは、サーバー側には、必要なものほどクライアント側に大きなパワーがないことです。ほとんどのテストサイトでは、ユーザーがいつ、どのくらいのために、何をしているかを追跡するにはjavascriptのこのクライアント側のいくつかのフォームを展開します!

+0

+1を - 私の入力の手間を保存 –

1

ユーザーがデータベースのページに最後にアクセスした時間を保存するのが簡単な方法の1つです。テーブルには、たとえば、UserIDPage、およびTimeStampというフィールドを含めることができます。ユーザーが30秒間だけ許可したいものをしようとするたびに、時間が経過したかどうかをチェックします。 (30秒という短い時間の間、データベースは少し遅くなるかもしれません...あなたの精度の要求に応じて、私は推測します...)。

1

は、JavaScriptの機能setTimeout()使用できます。

var timeOut = function() { 
    alert('Time is up!'); 
} 

setTimeout (timeOut, 30000); 

それとも<meta> tagを使用することができます。

<meta http-equiv="refresh" content="30;url=http://www.example.com/time-is-up.html">