0
Cache.Insert("City", UserCity,
             null, System.Web.Caching.Cache.NoAbsoluteExpiration,
             new TimeSpan(24, 0, 0));

特定のユーザーのキャッシュを 24 時間保存したいのですが、ページを開くたびに、すべてのユーザーに対して同じキャッシュの詳細が表示されます。すべてのユーザーを区別するにはどうすればよいですか?

4

1 に答える 1

1

それが良いアイデアかどうかの考慮事項を無視して、ユーザーを一意に識別するもの (userName など) をキャッシュ キーに含めることでこれを行うことができます。

string key = HttpContext.Current.User.Identity.Name + "-City";
Cache.Insert(key,...)

ユーザー固有のデータをキャッシュに入れることは、多数のユーザーを持つことができる場合はスケーラブルではありませんが、それが適切な場合もあります。たとえば、RoleProvider同時ユーザー数の上限が既知のイントラネット アプリケーションで使用されるカスタムでは、ユーザー固有のロールをキャッシュに保存するのが合理的です。

于 2013-09-15T09:48:51.130 に答える