日期:2014-05-18  浏览次数:20468 次

请问 静态成员,静态方法或静态类
是这样的一个网站的选项存在数据库中。他是一个哈希表。由于变量多,而且经常会用。所以我想对其静态(也就是像全局变量)。怎样达到这个效果,一次读入数据库,成为静态,然后其他页面只需要调用即可。但是我又担心会不会造成静态多用户访问操作造成意想不到的错误,怎样避免呢。
而且,我还必须判断此类是否已经赋值了。
类的形式

  public   class   WConfig
        {
                public   string   Host;   //各个成员变量。
                public   string   Copyright;
                public   bool   Reged;
        public   int   SetConfigInfo(Hashtable   src)//赋值
                {
                    xxxxxxx
              }
}
这种情况,是需要静态类还是静态化   成员呢   还是静态方法,还是都是。头晕了。希望有代码提示。谢谢大家。

------解决方案--------------------
静态变量方法和application用法上差不多
如果只是读的话.
public static string Host; //各个成员变量。
public static string Copyright;
public static bool Reged;
public static int SetConfigInfo(Hashtable src)//赋值
------解决方案--------------------
静态类用于共享信息(如果是同时多人写操作,就不要用了)
静态方法主要是用来优化经常使用的方法(不必每次调用都去创建对象)
静态成员(变量)可以再应用程序级保存数据(同样不适合多人同时写操作的情况)

如果是多人读的情况,你可以直接将其静态化为类。如果是存在多人同时写操作情况就直接放入Application里面。
------解决方案--------------------
如果是考虑性能的话,你可以将数据表CaChe一下。这样实例化类的时候会快一些。
多人同时写操作,在不加保护的情况下肯定出错(数据不一致)。
放在Application里,你就不要担心这个了。就算你 不 lock系统也会自动lock