- PR -

ログイン数の取得・ログインの制御について

1
投稿者投稿内容
けぃ
常連さん
会議室デビュー日: 2003/01/23
投稿数: 26
投稿日時: 2008-09-24 11:18
お世話になります。

Webアプリケーションにて、件名についてご教授願います。

【環境】
.Net Framework 2.0
Visual Studio 2005
C#

上記の環境にてWebアプリケーションを開発しております。
システムの要件にて、Webサイトへの接続を以下のように制御しようと考えております。

「Webサイトへの接続数が100ユーザ以上は使用不可とし、エラーメッセージを表示する画面を表示する。
Webサイトへの接続数が50ユーザ以上の場合、混雑しているため処理遅延が発生する可能性があることを知らせるメッセージを表示する。」(数字は仮の値です)

この仕様を満たす為に以下の方法を考えました。

案1.アクセス履歴による制御
ログインや各機能を使用した際にアクセス履歴(時間)をとります。
ログアウトしていないユーザで、最終アクセス時間から一定時間内のユーザをログイン中ユーザとみなし、その件数を基に制御する。

案2.Webサイトへの接続数による制御
プログラムにて、Webサイトへの接続数を取得します。
その接続数を基に制御する。

現在、案2を採用したく技術調査を行っている段階です。
もし案2が使用できなければ案1を採用します。

案2についてですが、
Webサイトへの接続数の取得方法がわからない状態です。
どなたかご教授頂けないでしょうか。

私が調査したところ、
System.Net.ServicePointクラスのCurrentConnectionsプロパティで接続数を取得することができるとのことでしたが、取得できていません。

ServicePointManagerクラスのFindServicePointメソッドにてServicePointを作成できるのですが、既存のServicePointを取得できていません。

よろしくお願いいたします。



どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-09-24 11:28
Webサーバへのアクセスって、リクエストがきたのを処理してブラウザにHTMLを返すと接続が切れます。
なので、そのときのアクセス数を取得しようとする行為に意味はないように思うのですが。。。

案1をうまく実装するしかないんじゃないかなぁ。。。

というより、そもそもこういった仕様自体をWebアプリケーションの特性にあわせて考え直すべきだと思いますけどね。
けぃ
常連さん
会議室デビュー日: 2003/01/23
投稿数: 26
投稿日時: 2008-09-24 13:13
ありがとうございます。

ご指摘の点につきましてはユーザからの指定でしたので、調査していました。
仕様の見直しもしくは、案1で調整したいと思います。

arika1969
会議室デビュー日: 2008/09/23
投稿数: 5
投稿日時: 2008-09-24 14:33
これは、現在のセッション数で判断してはだめなのでしょうか?
けぃ
常連さん
会議室デビュー日: 2003/01/23
投稿数: 26
投稿日時: 2008-09-24 15:14
セッション数での判断については一度検討しました。

1ユーザがアプリケーションを終了(※)しても、セッションはすぐに解放されません。 ※ログアウトを行って終了。又はブラウザの「×」で終了

そのため、ユーザがログアウトしたかどうかセッションだけでは判断できません。
結局DBへアクセス履歴の参照が発生しますので、ログイン数の管理も全てDBで管理するのがよいと考えました。



1

スキルアップ/キャリアアップ(JOB@IT)