0

セッションに沿ったユーザー プロファイルの保存に関するかなり基本的な質問があります。

ユーザー プロファイルを格納する Account テーブルがあり、このテーブルを ASP.NET SimpleMembership にリンクしているとします。ユーザーがログインすると、管理者はアカウント内またはアカウントに基づいて情報を取得する必要がある場合があります。私が今行っているのは、データが必要になるたびにデータベースにクエリを実行することです_dbContext.Accounts.Where(a => a.EmailAddress == User.Identity.Name).Single()

しかし、これにより DB に不要な負荷がかかる可能性があるため、ユーザーがログインしたら Account オブジェクトを Session 変数に格納し、再ログインせずに直接アクセスできるようにすることをお勧めします (おそらく誰もがそうするでしょう!)。 DBへのクエリ。これは通常の方法ですか?セッション変数と認証の間に「非同期」のリスクはありませんか?

ありがとう

4

1 に答える 1

2

私たちのウェブサイトは、ログイン時にユーザータイプのオブジェクトにこれと同じタイプのメソッドを使用しています。ログインが確認されると、ユーザー オブジェクトがセッション変数に保存されます。何かが変更または更新されると、オブジェクトが更新され、状況に応じてデータベース内の変更も更新されます (タイミングとは、変更の直後、または変更のグループを収集した後に更新を意味します)。

システムがどれほど複雑かによって異なります。私たちのものはかなり複雑ですが、これはかなり堅実な方法であることが証明されています - 定期的なメンテナンスや更新を必要としません.

于 2013-03-15T14:15:32.533 に答える