=波波日志 > Asp.Net/C#/WCF > SqlCacheDependency无法在配置中找到“Northwind”数据库错误=

SqlCacheDependency无法在配置中找到“Northwind”数据库错误

  今天在研究SqlCacheDependency时出现下面的错误
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

OutputCache 指令的“Northwind:Employees”SqlDependency 属性无效。

详细错误消息: 无法在配置中找到“Northwind”数据库。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: OutputCache 指令的“Northwind:Employees”SqlDependency 属性无效。

详细错误消息: 无法在配置中找到“Northwind”数据库。



后面对照了其他版本的代码后发现原来是是参考的代码outputcache指令没设置对,原来参考的代码版本
ASP.NET 缓存 SqlCacheDependency 监视数据库表变化

后面参考的代码
ASP.NET 2.0 中的SqlCacheDependency特性


错误总结如下
1)web.config配置如下
+展开
-XML
  <connectionStrings>
    <add name="dbconnectionString="server=.;database=Northwind;uid=cache;pwd=cache;providerName="System.Data.SqlClient"/>
  </connectionStrings>
<system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add name="dbconnectionStringName="dbpollTime="10000"/>
        </databases>
      </sqlCacheDependency>
    </caching>
     </system.web>

其中pollTime节点的单位为毫秒。
2)使用SqlCacheDependency的页面outputcache指令html代码
+展开
-HTML
<%@ OutputCache Duration="3600" SqlDependency="db:Employees" VaryByParam="none" %>


发生错误的原因是:原来我的SqlDependency的值为SqlDependency="Northwind:Employees",而不是"db:Employees"。所以出错了。SqlDependency的值其实是web.config中
+展开
-HTML
<databases>
          <add name="db" connectionStringName="db" pollTime="10000"/>
        </databases>


name值,而不是连接字符串中连接到的数据库名称,然后加上冒号“:追踪的数据表名称”。

注意:追踪的表名称是区分大小写的,具体名称去要追踪的数据库中的表AspNet_SqlCacheTablesForChangeNotification中查看名称。
如果大小写不匹配,也会导致出现无法在配置中找到“Northwind”数据库错误的错误。

类别:Asp.Net/C#/WCF 作者:波波 日期:2010-06-02 【评论:0 阅读:】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,G51人力资讯网桂ICP备05005887号