我有一个奇怪的零星问题。
我有返回 5 个小表的存储过程(例如状态下拉列表的 ID 和文本描述等)。代码调用它并将返回的数据集放入 ASP.Net 缓存中。调用单独的方法来从数据集中检索单个表,以将数据绑定到整个 Web 应用程序中的控件。
只有在我的 QA 服务器中,一张表才会消失。该表将用于一个测试场景;但是,下次运行相同的场景时,一个表为空。MIA 的表格总是相同的(准确地说是 5 个表格中的第 4 个)。
如果 ASP.Net WP 需要内存,它是否可以从缓存数据集中删除单个表,同时保持数据集的索引到位?
下面是缓存代码:
public static DataSet GetDropDownLists()
{
DataSet ds = (DataSet)HttpContext.Current.Cache["DropDownListData"];
if (null == ds)
{
// - Database Connection Information Here
ds = db.ExecuteDataSet(CommandType.StoredProcedure, "Sel_DropDownListData");
HttpContext.Current.Cache.Add("DropDownListData", ds, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero, CacheItemPriority.Normal, null);
}
return ds;
}
以下是返回空表的方法示例:
public static DataTable GetStatusList()
{
return GetDropDownLists().Tables[3];
}
同样,这只发生在我的 QA 服务器上,而不是当我的本地代码连接到 QA 数据库或单独服务器上的任何东西以进行我自己的开发测试时。
谢谢