zoukankan      html  css  js  c++  java
  • 演练:将 ASP.NET 输出缓存与 SQL Server 结合使用


            ASP.NET 输出缓存的一项高级功能是 SQL 缓存依赖项。SQL 缓存依赖项使您可以缓存依赖于 SQL Server 表中数据的页。您可以配置 SQL Server 和 ASP.NET 以缓存页请求,降低服务器工作负荷,直到页所依赖的数据已在 SQL Server 中更新为止。对于相对保持静态的产品目录或客户注册信息等数据而言,SQL 缓存依赖项很有用。

    内容包括:

                创建并配置页,以显示 Northwind 数据库中的数据。

                为 SQL 缓存通知启用数据库。

                在页以及 Web.config 文件中指定 SQL 缓存依赖项。

                对 Northwind 数据库进行更改并查看缓存行为。

     
    首先创建文件系统网站(这里就不多说了)
     
    为 SQL Server 启用缓存通知

    1.在 Windows“启动”菜单中,指向“所有程序”,指向“附件”,然后单击“命令提示符”以打开命令提示窗口。

    2.在磁盘驱动器中找到 Aspnet_regsql.exe 可执行文件。此文件随 .NET Framework 2.0 版安装在下面的位置

    如:C:\WINDOWS\Microsoft.NET\Framework\v2.0.40217
    使用下面的命令为 Northwind 数据库中的 Employees 表启用缓存通知:

    aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees
    注:您需要具有管理特权,或管理帐户和密码。如果没有此信息,请与数据库管理员联系。
     

    完成后将出现出现启用数据库的成功与失败消息。下面的消息指示成功:

    Enabling the table for SQL cache dependency.
    ..
    Finished.
     向项目中添加数据连接
    要在VS2005中使用 SQL Server 数据库,您需要向 Northwind 数据库添加连接。

    向项目添加数据源
    在“服务器资源管理器中,右击“数据连接”,然后单击“添加连接”。 

    配置数据源然后选择 Northwind 数据库。

     向网页添加时间戳和数据
    现在可以创建网页来演示缓存处理。在本节中,您将添加一个时间戳来跟踪页创建时间,并添加一个 GridView 控件来查看 Northwind 数据库的 Employees 表。

    步骤:
    切换到或打开 Default.aspx 页。

    切换到“设计”视图。

    从工具箱的“标准”组中,将一个 Label 控件拖到页上,保留默认名称 Label1。

    在“服务器资源管理器中,展开“数据连接”。

    为以前创建的数据连接展开节点。

    展开“表”节点。

    将 Employees 表拖到页上。

    Visual Web Designer 创建一个 GridView 控件,它配置为使用您所选择的连接和表。

    在“GridView 任务”菜单上,单击“配置数据源。

    默认数据连接字符串名称 NorthwindConnectionString1 出现在“配置数据源”向导的第一个步骤中。

    单击“下一步”。

    在“配置 Select 语句”窗格中,选择“指定来自表或视图的列”。

    在“名称”列表中,单击 Employees。

    在“列”列表中,选择 EmployeeID、LastName 和 FirstName 列。

    单击“下一步”。

    单击“完成”。

    Visual Web Designer 配置 GridView 控件以显示您所选择的数据。

    注意 
    如果看到一条消息询问您是否要刷新 GridView 控件的字段和键,单击“是”。
     

    添加以下突出显示的代码,以显示指示页创建的时间戳:
    protected void Page_Load(Object sender, System.EventArgs e)
    {
         Label1.Text = System.DateTime.Now.ToString();
    }

     测试不使用缓存功能的页
    现在可以运行页,并观察不使用缓存功能的行为。此时将加载页并显示当前服务器时间,然后将检索数据并将其放置在页中。

    测试不使用缓存功能的页
    按 Ctrl+F5 运行该页。

    在浏览器中刷新页

    注意,时间戳随着每次页刷新而更改。数据将保持相同。

     为缓存功能配置网页
    在本部分演练中,您将基于 Northwind 数据库的 Employees 表为 SQL 缓存依赖项配置页。

    为缓存功能配置网页在页顶部,添加下面的指令以指示依赖项:
    <%@ OutputCache Duration="3600" SqlDependency="Northwind:Employees" VaryByParam="none" %>
    VaryByParam 属性指示缓存时 ASP.NET 是否应考虑页参数(如查询字符串或发布值)。当 VaryByParam 设置为 none 时,将不考虑任何参数;无论提供什么附加参数,都将向所有用户发送相同的页。将 VaryByParam 设置为 *(星号)表明,对于每个唯一的请求参数组合,将缓存一个唯一页。但是,将 VaryByParam 设置为 * 会缓存页的许多不同版本,所以如果您知道缓存变化所依据的参数,建议您在 VaryByParam 属性中显式指定这些参数,避免出现多个版本。

     在 Web.config 文件中设置缓存配置
    除了前面部分中网页的 OutputCache 声明外,您需要在 Web.config 文件中指定缓存详细信息。

    将下面的 XML 作为 system.web 元素的子级添加到 Web.config 文件中:
    <!-- caching section group -->
    <caching>
      <sqlCacheDependency enabled = "true" pollTime = "1000" >
        <databases>
          <add name="Northwind"
             connectionStringName="NorthwindConnectionString1"
             pollTime = "1000"
          />
        </databases>
      </sqlCacheDependency>
    </caching>
    注意 
    前面您在创建数据连接时,已建立了连接字符串名称 NorthwindConnectionString1。如果您的连接字符串具有不同的名称,请替换为该名称。 

    注意 :在连接字符串中指定的帐户凭据必须具有足够的特权来轮询数据库。 
     

    启用缓存后,刷新页时将不再导致时间戳或数据库查询更新,因为 ASP.NET 将从缓存中满足页请求。

    测试使用缓存功能的页
    按 Ctrl+F5 运行该页。

    注意:时间戳在每次页刷新时保持不变。将从缓存中检索页。

    更改数据来查看缓存验证
    UPDATE dbo.Employees SET LastName = 'Doe' WHERE (EmployeeID = 5)
    这将把雇员 5 的名称更改为 Doe。

    现在可以测试页,以查看数据和时间戳是否已更改。
    按 Ctrl+F5 运行该页。

    注意,时间戳已更改,并显示新数据。

    按 Ctrl+F5 再次运行该页。

    这次时间戳保持不变,因为数据未更改,并且现在正从缓存中再次检索该页。

  • 相关阅读:
    无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别
    优化大师修复IE右键
    毕业了,醉得一塌糊涂
    [转]关于CAD绘图过程中“旋转(Rotate)”命令的参照方式用法
    MDS 7.0 使用中的问题
    推荐一个3D台球游戏
    [推荐]零件公差、偏差查询软件
    铁路用热轧钢轨的截面尺寸
    删除windows隐藏的本地连接
    (转)网页加速的14条优化法则
  • 原文地址:https://www.cnblogs.com/goooto/p/1129620.html
Copyright © 2011-2022 走看看