0

私はWiki/ブログに似たアプリケーションを構築していますが、各記事の閲覧数を保存するための最良の方法について質問があります。要件は、記事を閲覧した一意のユーザー数のみを保存し、合計閲覧数は保存しないことです。これまでのところ、私は達成するための3つの異なる方法を考え出しました。

1. SQL Serverストアドプロシージャ:このアプローチの問題は、データがXMLデータ型で格納されることであり、このメソッドを使用して要件を達成するのは少し複雑になる可能性があります。私はこれを最後の手段として残しておきます。

2. MSMQ:リクエストをシリアルに処理できるので、これはうまく機能します。このアプローチの唯一の問題は、MSMQがホストサーバーにインストールされていることを確認できないことです。これは問題外です!

3.使用Application.Lock()Applicationこのメソッドを使用すると、オブジェクトへのアクセスをロックし、アプリケーションのエントリを更新し、データベースを更新してから、を呼び出すことができることを知っていますApplication.Unlock()。これは機能的なアプローチのように聞こえますが、それでも回避策のように感じます。

要件を達成するために私が何をすべきかについて誰かが提案を持っていますか?

4

1 に答える 1

2

MsMQとApplication.Lockは、単純なことを実行するために検討するオプションではありません。(Application.Lock()はdef NO GOです)

XMLの理由もわかりません。ストアドプロシージャはXMLに依存しません

テーブルを作成する[page、userip]

ページのすべてのビューで

insert into <table>(page,userip) values(@page,@userip)

統計については、クエリを発行するだけです

select count(*) from <table> group by userip having page=@page

これはIP上のユーザーを識別しますが、複数のユーザーが同じIPから来る可能性があるため、完全にフェイルセーフではありません。

しかし、なぜグーグルアナリティクスを調査しませんか?必要なすべての情報(およびその他)

于 2013-01-28T17:39:04.740 に答える