C# 只调用一次属性
我们已经创建了自己的authorize属性,该属性继承自MVC中的C# 只调用一次属性,c#,asp.net,asp.net-mvc,authorization,C#,Asp.net,Asp.net Mvc,Authorization,我们已经创建了自己的authorize属性,该属性继承自MVC中的AuthorizeAttribute。这是在控制器级别添加的。我们使用该属性在线程上填充原则 每次从缓存或数据库检索用户时都会运行此方法 public void AuthenticateAs(System.Web.HttpContextBase context, IPrincipal user) { Thread.CurrentPrincipal = context.User = user;
AuthorizeAttribute
。这是在控制器级别添加的。我们使用该属性在线程上填充原则
每次从缓存或数据库检索用户时都会运行此方法
public void AuthenticateAs(System.Web.HttpContextBase context, IPrincipal user) {
Thread.CurrentPrincipal = context.User = user;
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(((Entities.User)((SiteIdentity)user.Identity).User).Locale);
}
但是我们注意到,当我们有一个视图,其中有许多RenderAction
调用时,该属性会被多次调用
是否有任何方法可以阻止这种情况发生,即当视图调用多个RenderAction
方法时,将使用初始IPrincipal