日期:2014-05-18  浏览次数:20346 次

asp.net缓冲问题
最近做用asp.net做缓冲 有一些疑惑 希望能有朋友指点 下面是我的具体问题
用sql2005,aspnet2.0

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql -S Dm-SERVER -d Eshenfen -U sa -P 123abc -et -t eshenfen_xiaoqu
注册依赖表
web.config文件中做相应配置 不过不晓得pollTime到底设多少秒合适(这不是主要问题)
<asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString="<%$ConnectionStrings:EshenfenConnectionString %>"
  SelectCommand="select xiaoqu from eshenfen_xiaoqu where userid = @userid" SqlCacheDependency="Eshenfen:eshenfen_xiaoqu"
  EnableCaching="true">
  <SelectParameters>
  <asp:Parameter Name="userid" Type="int32" />
  </SelectParameters>
  </asp:SqlDataSource>
问题是:当eshenfen_xiaoqu表中有更新时通知到sqldatasource并使缓冲无效 但如果一直有用户在更新或添加数据 则缓冲是否一直是处于无效状态? 是的话能否做到按SelectParameters来使缓冲无效,而不是表一更新就使所有依赖该表的缓冲无效
大家能明白我的意思吗?

------解决方案--------------------
http://blog.csdn.net/bobo_keke/archive/2008/10/17/3090716.aspx
------解决方案--------------------
SqlDataSource控件包含EnableCaching和SqlCacheDependency两个属性。其中,SqlCacheDependency属性使用下列语法:
SqlCacheDependency="" 
在这个属性声明中,首先列举出数据库的名称,后面跟着的是数据库表名。由于这一属性,无论何时数据库中的表中的数据改变,缓冲数据都会自动地无效。

------解决方案--------------------
帮顶..不是很明白!!!

不过万事都有解决的方法~~~~~~~~~~~
------解决方案--------------------
只能帮顶了,不知道如何解决