Cache.Insert("City", UserCity,
null, System.Web.Caching.Cache.NoAbsoluteExpiration,
new TimeSpan(24, 0, 0));
特定のユーザーのキャッシュを 24 時間保存したいのですが、ページを開くたびに、すべてのユーザーに対して同じキャッシュの詳細が表示されます。すべてのユーザーを区別するにはどうすればよいですか?
それが良いアイデアかどうかの考慮事項を無視して、ユーザーを一意に識別するもの (userName など) をキャッシュ キーに含めることでこれを行うことができます。
string key = HttpContext.Current.User.Identity.Name + "-City";
Cache.Insert(key,...)
ユーザー固有のデータをキャッシュに入れることは、多数のユーザーを持つことができる場合はスケーラブルではありませんが、それが適切な場合もあります。たとえば、RoleProvider
同時ユーザー数の上限が既知のイントラネット アプリケーションで使用されるカスタムでは、ユーザー固有のロールをキャッシュに保存するのが合理的です。