c# - Creating static object in Global.asax and calling it from the controller -
i have created class in global.asax that:
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 put list describled below in here? } public sealed class security { private static readonly lazy<security> lazy = new lazy<security>(() => new security()); public static security instance { { return lazy.value; } } private security() { } //or should put list describled below in here? } question:
- i using create static list shared users. need:
public static list<permissiontemp> userpermissionset { get; set; }, not sure put line created application starts. - once created, need hold of list add object created when user log-in, don´t know how call class controller since in global.asax
i in doubt if need use singleton patter or not since need instance of class every time need add item list.. presume yes!
i create singleton class containing permission set , use thruout application.
public class permissionmanager{ private permissionmanager() { userpermissionset = new list<permissiontemp>(); } private permissionmanager _instance; public permissionmanager instance{ get{ if (_instance==null) _instance=new permissionmanager(); return _instance; } } public list<permissiontemp> userpermissionset { get; private set; } } note: simple implementation... need implement thread safe constructor
then in code use
permissionmanager.instance.userpermissionset
Comments
Post a Comment