Global.asax.cs和静态变量
|
在WCF服务中,我需要创建一个可以随时随地访问的变量。我服务的所有方法都需要访问该数据,并且我只能加载一次。所以我虽然要在Global.asax.cs中使用静态变量。但是我不确定该变量的范围是什么。该数据是否将用于所有请求?我的理解是,应该这样,因为应在App Domain中使用相同的静态变量。那是对的吗?
public static IList<MyData> Data { get; set; }
private static IList<MyData> Load()
{
return Big data struct from DB.
}
protected void Application_Start(object sender, EventArgs e)
{
Data = Load();
}
最后,有没有更好的方法来实现这一目标?我不是静态变量的忠实拥护者...
没有找到相关结果
已邀请:
3 个回复
埃输林桨铃
在实际的实现中并没有太大的区别,除了现在可以通过该变量名将其作为应用程序变量全局使用。
社攻取墟槽
呈辖玫割善
最好在静态构造函数中进行初始化,因为这样调用将是线程安全的。