我是HttpContext.Current.Cache的新手,我发现了一些实现它的例子,我遇到了一些问题。有谁知道可能导致问题的原因是什么?我可能使用它完全错了,但我做了尽可能多的研究。
我为sda.fill(dt)获得Value cannot be null.
;所以我假设我的DataTable没有创建新实例。
由于
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Test"].ConnectionString);
SqlCommand command = new SqlCommand(
"SELECT Sequence, Column_Name FROM dbo.SD_Fields", connection);
DataTable dt = HttpContext.Current.Cache["1234"] as DataTable;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(OnDependencyChange);
SqlDependency.Start(ConfigurationManager.ConnectionStrings["Test"].ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = command;
sda.Fill(dt);
// SqlDependency.Stop(ConfigurationManager.ConnectionStrings["Test"].ConnectionString);
return dt;