C# 缓存未在SqlDependency中刷新
我想在更改数据库时自动刷新数据 我用过: 并将页面上的代码加载为:C# 缓存未在SqlDependency中刷新,c#,asp.net,.net,sqldependency,C#,Asp.net,.net,Sqldependency,我想在更改数据库时自动刷新数据 我用过: 并将页面上的代码加载为: protected void Page_Load(object sender, EventArgs e) { conString = "Data Source=MITEJ5-PC\\MITEJTECHONOLY;Initial Catalog=SSISTestDatabase;Integrated Security=SSPI;"; SqlDependency.Start(conStri
protected void Page_Load(object sender, EventArgs e)
{
conString = "Data Source=MITEJ5-PC\\MITEJTECHONOLY;Initial Catalog=SSISTestDatabase;Integrated Security=SSPI;";
SqlDependency.Start(conString);
using (SqlConnection connection =
new SqlConnection(conString))
{
using (SqlCommand command =
new SqlCommand(GetSQL(), connection))
{
SqlCacheDependency dependency =
new SqlCacheDependency(command);
// Refresh the cache after the number of minutes
// listed below if a change does not occur.
// This value could be stored in a configuration file.
int numberOfMinutes = 1;
DateTime expires =
DateTime.Now.AddMinutes(numberOfMinutes);
Response.Cache.SetExpires(expires);
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Response.AddCacheDependency(dependency);
connection.Open();
gv.DataSource = command.ExecuteReader();
gv.DataBind();
}
}
}
private string GetSQL()
{
return "select Name,Age,Address from tlbStudent;";
}
但当我运行它并对SQL表数据进行更改时,它并没有自动在网格上反映它
上面的代码哪里有错
请帮助我。首先,您需要了解
SqlDependency
的工作原理。阅读简短的介绍。一旦了解到真正的功能是查询通知,就可以了解使用通知进行查询的限制,请参阅。一旦此类限制被取消:
SELECT语句中的投影列必须明确说明,表名必须由两部分名称限定。请注意,这意味着语句中引用的所有表必须位于同一数据库中
有关未来的问题,请阅读。中的问题
private string GetSQL()
{
return "select Name,Age,Address from tlbStudent;";
}
表名应为2个部分“”
根据文件
SELECT语句中的投影列必须明确说明,表名必须由两部分组成。请注意,这意味着语句中引用的所有表必须位于同一数据库中
private string GetSQL()
{
return "select Name,Age,Address from dbo.tlbStudent;";
}