我正在努力寻找解决这个问题的方法。我在这个网站上看到很多涉及这个主题的类似条目,但我似乎无法找到解决方案。我正在尝试检查缓存中的表以查看它是否已经存在,如果不存在,则填充它。下面是我的检查代码,它在“if”语句上出错,告诉我“System.NullReferenceException:对象引用未设置为对象的实例”。这令人费解,因为“.IsNullOrEmpty”不应该抓住这个吗?我想如果数组中的第一个元素为空或空,那么它还没有被缓存,因此采取行动。
string[] saveCatList = Cache["Categories" + Session["sessopnID"]] as string[];
if (string.IsNullOrEmpty(saveCatList[0]))
{
WBDEMOReference.getcatlist_itemcategories[] categories;
strResult = callWebServ.getcatlist(Session["sessionID"].ToString(),
out strResultText, out dNumOfCat, out categories);
for (int i = 0; i < categories.Length; i++)
{
//ddCat is the ID number of the category drop down list
ddCat.Items.Add(new ListItem(categories[i].categorydesc.ToString(),
categories[i].categorynumber.ToString()));
}
}