ユーザーがログインすると、彼のすべてのプロフィール情報を保存して、たとえば自分のウェブサイトの別のページに自分のメールを表示できるようにしたいが、毎回データベースを照会し続ける必要はない私は彼の電子メールを表示したい。これをどうやってやりますか?データベースのユーザーの詳細をどこに保存して、すべてのページの情報を引き出すことができますか?
ありがとうございます!
ユーザーがログインすると、彼のすべてのプロフィール情報を保存して、たとえば自分のウェブサイトの別のページに自分のメールを表示できるようにしたいが、毎回データベースを照会し続ける必要はない私は彼の電子メールを表示したい。これをどうやってやりますか?データベースのユーザーの詳細をどこに保存して、すべてのページの情報を引き出すことができますか?
ありがとうございます!
キャッシュ(System.Web.HttpContext.Current.Cache
経由)で作業するか、セッションまたはクッキーに入れる必要があります。
キャッシュはこれまでのところ最良の方法ですが、クッキーによって余分な帯域幅が発生し、セッションには独自の問題があります。
asp.netセッション変数を使用して、ユーザープロファイル情報を格納し、セッション変数からこれらの詳細を別のページに表示することができます。
ただし、キャッシュはアプリケーション全体で使用できません。つまり、実際に他人のメールアドレスを返さないようにするために、正しいデータを得るための独自の仕組みを書く必要があります。個人的に私はセッションがこれに最も適していると思います。 – Fishcake
あなたは正しいですが、セッションのタイムアウト、セッションのスケーリングがうまくいかないなど、キャッシュが悪いです。Cache ["user-" + myid.ToString()] – Gidon