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:

  1. i using create static list shared users. need: public static list<permissiontemp> userpermissionset { get; set; }, not sure put line created application starts.
  2. 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

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -