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