2016-05-22 5 views
1

ソフトウェアに同時ライセンスを実装して、xユーザー以上のユーザーが同時にログインしないようにしたいと考えました。c#wpf - 同時ライセンスユーザータイムアウト

ユーザーがログインするたびに、現在実行中のセッションを保持するSQLテーブルに挿入します。

私は総数が制限を超えているかどうかを確認していない場合は、内のユーザーログをさせます。

私がために、このSQLテーブルの時間のすべての特定の量をチェックするにはどうすればよいが持つセッションを取り除くために20分と言われるアクティビティは見られませんか?

これは、既にデータベースに接続してセッションを削除したため、ユーザーがインターネットに接続していないことを前提としています。

ありがとう

答えて

0

データベースから古いエントリを削除するクリーンアップメソッドを記述します。

ThreadPool、Tasks(TPL)または他の技術(たとえば、HangFire)を使用して、新しいワーカースレッドを作成します。このワーカースレッドでクリーンアップメソッドを呼び出します。

Timerクラスを使用して定期的にワーカースレッドを再作成するか、スケジューリング機能を持つライブラリを使用して再作成できます(参照のためには、「HangFireプロジェクト」を参照)。

+0

私はこれを試してみるつもりです。だから、基本的にユーザーライセンスを取得し、ユーザーがアクティビティを表示している間にバックスレッドでジョブを再作成するx分ごとにジョブをスケジュールすることです。 @josef – Walking

関連する問題