SqlCacheDependencyAdminとは? わかりやすく解説

SqlCacheDependencyAdmin クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

ポーリング ベース依存関係使用するときに、SqlCacheDependency クラスサポートするために SQL Server データベース必要な管理タスク実行します。このクラス継承できません。

名前空間: System.Web.Caching
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 SqlCacheDependencyAdmin
public static class SqlCacheDependencyAdmin
public ref class SqlCacheDependencyAdmin abstract
 sealed
public final class SqlCacheDependencyAdmin
public final class SqlCacheDependencyAdmin
解説解説
使用例使用例

SQL Server データベース テーブル変更通知を有効または無効にする、単純な ASP.NET ページコード例次に示します。これは SqlCacheDependencyAdmin オブジェクト使用して接続文字列 MyConnectionString指定されているデータベース変更通知管理します。この例では、ユーザー インターフェイス定義する .aspx ファイルと、ASP.NET イベントソース コードを含む分離コード ファイル2 つファイル示されています。

最初サンプルは、ユーザー インターフェイス定義する .aspx ファイル示します

<%@ Page Language="C#" AutoEventWireup="true"
 CodeFile="cacheDependencyAdmincs.aspx.cs"
  Inherits="cacheDependencyAdmincs" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"
 />
  <title>Cache Dependency Administration</title>
</head>
<body>
  <form id="form1" runat="server">
    <table>
      <tr>
        <td colspan="2">
          Database support for change notifications:
        </td>
      </tr>
      <tr>
        <td align="center">
          <asp:Button ID="enableNotification" runat="server"
 Text="On" OnClick="enableNotification_Click" />
        </td>
        <td align="center">
          <asp:Button ID="disableNotification" runat="server"
 Text="Off" OnClick="disableNotification_Click" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <asp:Label ID="enabledTablesMsg" runat="server"
 Text="Tables enabled for change notification:" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <asp:ListBox ID="enabledTables" runat="server" SelectionMode="multiple"
 /><br />
          <asp:Button ID="disableTable" runat="server" Text="Disable
 selected table(s)" OnClick="disableTable_Click" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <asp:Label ID="tableEnableMsg" runat="server" Text="Enable
 change notification on table:" />
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <asp:TextBox ID="tableName" runat="server" /><br
 />
          <asp:Button ID="enableTable" runat="server" Text="Enable
 table(s)" OnClick="enableTable_Click" />
          <asp:Label id="enableTableErrorMsg" runat="server"
 Visible="false" />
        </td>
      </tr>
    </table>
  </form>
</body>
</html>

2 番目のサンプルは、ページ イベントソース コードを含む分離コード ファイル示します

Partial Class cacheDependencyAdminvb
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    'Put the page into a default state.
    enabledTables.Visible = True
    disableTable.Visible = True
    enabledTablesMsg.Text = "Tables enabled for change notification:"

    tableName.Visible = True
    enableTable.Visible = True
    tableEnableMsg.Text = "Enable change notification on table(s):"
    enableTableErrorMsg.Text = ""
  End Sub

  Protected Sub Page_PreRender(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    Try
      Dim enabledTablesList As String()
      enabledTablesList = SqlCacheDependencyAdmin.GetTablesEnabledForNotifications(
 _
        ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString)
      If enabledTablesList.Length > 0 Then
        enabledTables.DataSource = enabledTablesList
        enabledTables.DataBind()
      Else
        enabledTablesMsg.Text = "No tables are enabled for change
 notifications."
        enabledTables.Visible = False
        disableTable.Visible = False
      End If
    Catch ex As DatabaseNotEnabledForNotificationException
      enabledTables.Visible = False
      disableTable.Visible = False
      enabledTablesMsg.Text = "Cache notifications are not enabled
 in this database."

      tableName.Visible = False
      enableTable.Visible = False
      tableEnableMsg.Text = "Must enable database for notifications
 before enabling tables."
    End Try
  End Sub
  Protected Sub enableNotification_Click(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    SqlCacheDependencyAdmin.EnableNotifications( _
        ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString)
  End Sub
  Protected Sub disableNotification_Click(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    SqlCacheDependencyAdmin.DisableNotifications( _
        ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString)
  End Sub
  Protected Sub disableTable_Click(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    For Each item As ListItem
 In enabledTables.Items
      If item.Selected Then
        SqlCacheDependencyAdmin.DisableTableForNotifications( _
        ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString,
 _
        item.Text)
      End If
    Next
  End Sub
  Protected Sub enableTable_Click(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    Try
      If tableName.Text.Contains(";")
 Then
        Dim tables As String()
        tables = tableName.Text.Split(New [Char]() {";"c})
        For i As Integer
 = 0 To tables.Length - 1
          tables(i) = tables(i).Trim
        Next

        SqlCacheDependencyAdmin.EnableTableForNotifications( _
          ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString,
 _
          tables)
      Else
        SqlCacheDependencyAdmin.EnableTableForNotifications( _
          ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString,
 _
          tableName.Text)
      End If
    Catch ex As HttpException
      enableTableErrorMsg.Text = "<br />" &
 _
        "An error occured enabling a table.<br />"
 & _
        "The error message was: " & _
        ex.Message
      enableTableErrorMsg.Visible = True
    End Try
  End Sub

End Class
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Web.Caching;

public partial class cacheDependencyAdmincs
 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs
 e)
  {
    // Put page in default state.
    enabledTables.Visible = true;
    disableTable.Visible = true;
    enabledTablesMsg.Text = "Tables enabled for change notification:";

    tableName.Visible = true;
    enableTable.Visible = true;
    tableEnableMsg.Text = "Enable change notification on table(s):";
    enableTableErrorMsg.Visible = false;
  }

   protected void Page_PreRender(object sender,
 EventArgs e)
  {
    try
    {
      string[] enabledTablesList =
      SqlCacheDependencyAdmin.GetTablesEnabledForNotifications(
        ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
      if (enabledTablesList.Length > 0)
      {
        enabledTables.DataSource = enabledTablesList;
        enabledTables.DataBind();
      }
      else
      {
        enabledTablesMsg.Text = "No tables are enabled for
 change notifications.";
        enabledTables.Visible = false;
        disableTable.Visible = false;
      }
    }
    catch (DatabaseNotEnabledForNotificationException ex)
    {
      enabledTables.Visible = false;
      disableTable.Visible = false;
      enabledTablesMsg.Text = "Cache notifications are not enabled in
 this database.";

      tableName.Visible = false;
      enableTable.Visible = false;
      tableEnableMsg.Text = "Must enable database for notifications
 before enabling tables";
    }
  }
  protected void enableNotification_Click(object
 sender, EventArgs e)
  {
    SqlCacheDependencyAdmin.EnableNotifications(
      ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
  }
  protected void disableNotification_Click(object
 sender, EventArgs e)
  {
    SqlCacheDependencyAdmin.DisableNotifications(
      ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
  }
  protected void disableTable_Click(object
 sender, EventArgs e)
  {
    foreach (ListItem item in enabledTables.Items)
    {
      if (item.Selected)
      {
        SqlCacheDependencyAdmin.DisableTableForNotifications(
          ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString
,
          item.Text);
      }
    }
  }
  protected void enableTable_Click(object sender,
 EventArgs e)
  {
    try
    {
      if (tableName.Text.Contains(";"))
      {
        string[] tables = tableName.Text.Split(new
 Char[] { ';' });
        for (int i = 0; i < tables.Length;
 i++)
          tables[i] = tables[i].Trim();

        SqlCacheDependencyAdmin.EnableTableForNotifications(
          ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString
,
          tables);
      }
      else
      {
        SqlCacheDependencyAdmin.EnableTableForNotifications(
          ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString
,
          tableName.Text);
      }
    }
    catch (HttpException ex)
    {
      enableTableErrorMsg.Text = "<br />" +
        "An error occured enabling a table.<br />" +
        "The error message was: " +
        ex.Message;
      enableTableErrorMsg.Visible = true;
    }
  }
}
継承階層継承階層
System.Object
  System.Web.Caching.SqlCacheDependencyAdmin
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SqlCacheDependencyAdmin メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド DisableNotifications 指定されているデータベースの SqlCacheDependency 変更通知無効にます。
パブリック メソッド DisableTableForNotifications オーバーロードされますSQL Server データベース テーブルまたはデータベース テーブル配列SqlCacheDependency 変更通知無効にます。
パブリック メソッド EnableNotifications 指定されているデータベースSqlCacheDependency 変更通知有効にます。
パブリック メソッド EnableTableForNotifications オーバーロードされますSQL Server データベース接続しデータベース テーブルまたはテーブルSqlCacheDependency 変更通知準備します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetTablesEnabledForNotifications 変更通知有効になっている、SQL Server データベース内のテーブルの名前を含む文字列配列取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlCacheDependencyAdmin クラス
System.Web.Caching 名前空間
SqlCacheDependency クラス

その他の技術情報

アプリケーション データキャッシュ

SqlCacheDependencyAdmin メンバ

ポーリング ベース依存関係使用するときに、SqlCacheDependency クラスサポートするために SQL Server データベース必要な管理タスク実行します。このクラス継承できません。

SqlCacheDependencyAdmin データ型公開されるメンバを以下の表に示します


パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド DisableNotifications 指定されているデータベースSqlCacheDependency 変更通知無効にます。
パブリック メソッド DisableTableForNotifications オーバーロードされますSQL Server データベース テーブルまたはデータベース テーブル配列SqlCacheDependency 変更通知無効にます。
パブリック メソッド EnableNotifications 指定されているデータベースSqlCacheDependency 変更通知有効にます。
パブリック メソッド EnableTableForNotifications オーバーロードされますSQL Server データベース接続しデータベース テーブルまたはテーブルSqlCacheDependency 変更通知準備します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetTablesEnabledForNotifications 変更通知有効になっている、SQL Server データベース内のテーブルの名前を含む文字列配列取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlCacheDependencyAdmin クラス
System.Web.Caching 名前空間
SqlCacheDependency クラス

その他の技術情報

アプリケーション データキャッシュ


このページでは「.NET Framework クラス ライブラリ リファレンス」からSqlCacheDependencyAdminを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSqlCacheDependencyAdminを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSqlCacheDependencyAdmin を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SqlCacheDependencyAdmin」の関連用語

SqlCacheDependencyAdminのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlCacheDependencyAdminのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS