cs文件代码
public override void DataBind()
    {
        if (Cache["ds"] == null)
        {
            ds = new DataSet();
            da = new SqlDataAdapter("select * from sitemap", ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
            da.Fill(ds);
            SqlCacheDependency sqlcache = new SqlCacheDependency("fygj", "sitemap");
            Cache.Insert("ds", ds, sqlcache);
        }
        this.GridView1.DataSource = (DataSet)Cache["ds"];
        this.GridView1.DataBind();
    }config配置
<caching>
<sqlCacheDependency enabled = "true">
<databases>
<add name = "fygj" 
  connectionStringName = "StrConn" 
  pollTime = "60000"/>
</databases>
</sqlCacheDependency>
</caching>05的控制台指令:我也输入了,显示启用了SQL缓存
并且  如果不在cs也面编写代码,在设计视图的源代码里写
<%@ OutputCache Duration="99999" SqlDependency="fygj:Sitemap" VaryByParam="none" %>
并且给gridview选择一个SQL数据源   设置SqlCacheDependency属性为  fygj:Sitemap
页面显示一点问题没有。gridview里会有查询出来的数据,而且是启用缓存的数据.
但是为什么cs页面的代码会有问题呢?
我还又哪里没有做或者没有做对呢?
在线急等! 报错如下。!(注意我上边写的红色部分的代码,我个人认为数据库连接池缓存配置应该是正确的,而且也已经启用了!)
没有为 SQL 缓存通知启用数据库“fygj”中的“sitemap”表。请确保该表存在,并确保用于缓存依赖项的表名称与缓存通知注册中使用的表名称完全相同。若要为 SQL 缓存通知启用表,请使用 SqlCacheDependencyAdmin.EnableTableForNotifications 方法或命令行工具 aspnet_regsql。有关如何使用此工具的详细信息,请运行“aspnet_regsql.exe -?”。若要获取数据库中已启用表的列表,请使用 SqlCacheDependencyManager.GetTablesEnabledForNotifications 方法或命令行工具 aspnet_regsql.exe。 
希望大家可以指点!

解决方案 »

  1.   

    没有运行 启用sql 缓存的语句??
      

  2.   

    to 3楼05的控制台指令:我也输入了,显示启用了SQL缓存 
    并且  如果不在cs也面编写代码,在设计视图的源代码里写 
    <%@ OutputCache Duration="99999" SqlDependency="fygj:Sitemap" VaryByParam="none" %> 
    并且给gridview选择一个SQL数据源  设置SqlCacheDependency属性为  fygj:Sitemap 
    页面显示一点问题没有。gridview里会有查询出来的数据,而且是启用缓存的数据.