【发布时间】:2013-03-01 14:52:35
【问题描述】:
我在 Global.asax 中创建了一个这样的类:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
//SHOULD I PUT THE LIST DESCRIBLED BELOW IN HERE?
}
public sealed class security
{
private static readonly Lazy<security> lazy = new Lazy<security>(() => new security());
public static security Instance { get { return lazy.Value; } }
private security()
{
}
//OR SHOULD I PUT THE LIST DESCRIBLED BELOW IN HERE?
}
问题:
- 我正在使用它来创建一个静态列表以与所有用户共享。这就是我需要的:
public static List<permissionTemp> userPermissionSet { get; set; },但我不知道该放在哪里,所以它会在应用程序启动后立即创建。 - 创建后,我需要获取此列表以添加用户登录时创建的对象,但我不知道如何从控制器调用该类,因为它在全局中。阿萨克斯
我不确定是否需要使用单例模式,因为每次需要向列表中添加项目时,我都需要获取此类的实例。我想是的!
【问题讨论】:
-
在具体的源文件中编写类型并不重要。那里有很多建议,如果我深入研究其中的一些,你已经打破了一个(但没关系)。就像我说的。您在
Global.asax中声明该类的事实不会使您的控制器无法访问它。缺少using或程序集参考就是这样做的。所以.. 全局可访问的单例security.Instance很好。不要担心单身人士。这不会使您的应用程序运行缓慢(其他事情会)。 “下面描述的列表”到底是什么? -
n.b.描述不是一个词
-
@SpaceBison google.com.br/…
-
@GuilhermeLongo 是的,它谷歌描述了。 =D
标签: c# asp.net-mvc asp.net-mvc-4 singleton