我想知道是否有办法克服这种情况:
我有一个带有静态变量的静态类,名为 let's say
static string[] Cities = GetCities();
GetCities
从数据库中获取所有城市。问题是我在使用 GetCities
时遇到错误,因为数据服务器有时不可用,即使服务器再次可用,此错误也不会消失。
我认为这是因为变量 Cities 只创建了一次......
最佳答案
I think that this is because the variable Cities is created only once
这是正确的:只会调用一次 GetCities()
;如果失败,则不会有其他调用。要解决此问题,请将 Cities
更改为只读属性,并在获取结果时缓存 GetCities()
的结果。
static string[] cachedCities = null;
public static string[] Cities {
get {
return cachedCities ?? (cachedCities = GetCities());
}
}
关于c# - 静态 C# 变量,由于数据库连接而引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17325511/