Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 ASP.net MVC删除重复的数据调用_Asp.net Mvc 2_Asp.net Authentication_Data Caching - Fatal编程技术网

Asp.net mvc 2 ASP.net MVC删除重复的数据调用

Asp.net mvc 2 ASP.net MVC删除重复的数据调用,asp.net-mvc-2,asp.net-authentication,data-caching,Asp.net Mvc 2,Asp.net Authentication,Data Caching,我有一个asp.net mvc站点,可以使用asp.net身份验证。我有一个UserInformation表,它还存储每个用户的额外信息。几乎在我调用数据库的每个页面上,至少一次提取当前用户的UserInformation记录 我认为所有这些重复的数据调用都需要相同的信息,这太过分了。我能把这些剪掉吗?缓存?存储用户信息记录以备将来使用等 我肯定我不是第一个遇到这个问题的人,所以我不想重新发明轮子 提前感谢您可以使用自定义身份和i原则。下面是一个很好的例子,描述了如何实现这一点(有趣的部分发生在

我有一个asp.net mvc站点,可以使用asp.net身份验证。我有一个UserInformation表,它还存储每个用户的额外信息。几乎在我调用数据库的每个页面上,至少一次提取当前用户的UserInformation记录

我认为所有这些重复的数据调用都需要相同的信息,这太过分了。我能把这些剪掉吗?缓存?存储用户信息记录以备将来使用等

我肯定我不是第一个遇到这个问题的人,所以我不想重新发明轮子


提前感谢

您可以使用自定义身份和i原则。下面是一个很好的例子,描述了如何实现这一点(有趣的部分发生在
btnAuthenticate\u Click
方法中,在ASP.NE MVC应用程序中,该方法将是authenticate controller操作,这里将发出带有自定义数据的身份验证票证)。在本例中,想法是手动创建身份验证票证,并使用
userData
属性存储附加信息。如果您有大量数据,这可能不适合您的情况,因为这些数据存储在cookie中。但是,您可以将其存储在其他地方,如会话或缓存,而不是使用
userData
。您还可以编写一个自定义属性来处理自定义主体(本文中对应于
应用程序\u AuthenticateRequest
方法的部分应该放在这个自定义授权筛选器中,以便重新构建用户)