кэширование вывода

Для того что бы не тратить время для повторного подключения к удаленной базе данных, удаленному серверу применяется кэширование.
Кэширование — это сохранение информации для повторного использования в оперативной памяти своего сайта.
Кэширование вывода — это сохранение HTML разметки.
Скрыть

Показать

Копировать
  Default.aspx  
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_0065.Default" %>
 
<%--Duration="60" - продолжительность 60 секунд--%>
<%----%>
<%--
 SqlDependency="abc:Book" - в базе данный abc в таблице Book
 будут отслеживаться изменения
--%>
<%-- 
 если в базе данных будут произведены изменения, то при обновлении страницы
 изменения на странице произойдут стразу, а не через 60 секунд
--%>
<%@ OutputCache Duration="60" VaryByParam="None" SqlDependency="abc:Book" %>
 
<%-- активация кэширования для базы данных с помощью утилиты Aspnet_regsql.exe --%>
<%-- "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe" --%>
<%-- вводим в командную строку --%>
<%-- aspnet_regsql.exe -C "Data Source=(localDB)\v11.0;Database='Путь к безе данных';Integrated Security=True" -ed -et -t Имя таблицы --%>
<%-- aspnet_regsql.exe -C "Data Source=(localDB)\v11.0;Database='D:\project\aaa\_0065\_0065\App_Data\abc.mdf';Integrated Security=True" -ed -et -t Book --%>
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <meta charset="utf-8" />
 <title></title>
</head>
<body>
 <form id="form1" runat="server">
  <div>
   <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
     <asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" InsertVisible="False" SortExpression="Id"></asp:BoundField>
     <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name"></asp:BoundField>
     <asp:BoundField DataField="Amount" HeaderText="Amount" SortExpression="Amount"></asp:BoundField>
     <asp:BoundField DataField="Price" HeaderText="Price" SortExpression="Price"></asp:BoundField>
    </Columns>
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
   </asp:GridView>
   <asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' SelectCommand="SELECT * FROM [Book]"></asp:SqlDataSource>
  </div>
 </form>
</body>
</html>
Скрыть

Показать

Копировать
  Web.config  
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\abc.mdf;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
   <compilation debug="true" targetFramework="4.5" />
   <httpRuntime targetFramework="4.5" />
   <!--добавить код-->
   <caching>
    <sqlCacheDependency>
     <databases>
      <!--name - имя базы данных-->
      <!--pollTime - интервал, с котором будет происходить проверка изменений в базе-->
      <!--connectionStringName - соответствует атрибуту name в теге connectionStrings/add-->
      <add name="abc" pollTime="1000" connectionStringName="ConnectionString"/>
     </databases>
    </sqlCacheDependency>
   </caching>
  </system.web>
</configuration>