2

私の Web サイトには、ユーザーの名と姓を示す小さなメニューが右上隅にあります。この作品を部分的なビューに入れました。これはすべてのページに表示されるため、ページが読み込まれるたびにユーザーの情報を取得する必要がないように、明らかにキャッシュすることを考えています。これをキャッシュまたはセッションデータに保存する必要がありますか?また、すべてのページにある場合、このデータをキャッシュするコードをどこに作成する必要がありますか?

4

5 に答える 5

2

シナリオに従って、あなたは間違いなくキャッシュを使うべきです。そしてあなたが言ったように、あなたはすでに部分的なビューとしてメニューを持っています

    [OutputCache(Duration = 3600)]
    public ActionResult mymenu()
    {
        return PartialView();
    }
于 2012-09-12T19:58:33.497 に答える
0

サイト全体で必要なすべての便利なパラメーターを設定する User オブジェクトを作成することを好みます。

このオブジェクトは、サイトに応じてセッションまたはデータベースに保存されます

于 2012-09-12T20:19:02.063 に答える
0

ユーザー情報は、キャッシュではなく、セッションに保存することをお勧めします。キャッシュはほとんどがアプリケーション レベルであり、セッションはユーザー/セッションごとです。キーを (セッションまたは Cookie によって) 提供することで、ユーザーごとの情報をキャッシュに保存できます。

この記事は役に立つかもしれません:- cache-session-viewstate-c#

于 2012-09-12T20:02:30.870 に答える
0

ASP.Net キャッシュについて言及している場合、そこに格納されている情報は、マシン上で実行されている任意の .Net ページで利用できます。あなたの場合、セッションの方が適切だと思います。

于 2012-09-12T20:02:34.427 に答える
0

使用している認証メカニズムはわかりませんが、既に次の場所に保存されている可能性があります。

HttpContext.Current.User

また

System.Threading.Thread.CurrentPrincipal

于 2012-09-12T20:16:22.100 に答える