This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

SqlCacheDependencyAdmin الفئة

Visual Studio 2010

تنفيذ مهام إدارية على SQL الخادم قاعدة البيانات لدعم SqlCacheDependencyفئة عند استخدام تبعيات تستند إلى الاستقصاء. و هذه الفئة لا يمكن أن تكون موروثة.

مساحة الاسم:  System.Web.Caching
التجميع:  System.Web (في System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.High)]
public static class SqlCacheDependencyAdmin

يمكنك استخدام الأساليب من هذه الفئة لتمكين وتعطيل قاعدة بيانات ملقم SQL برمجياً وبه الجداول عن SqlCacheDependencyتغيير كائن الإعلام. بالإضافة إلى ذلك، تحصل هذه الفئة على معلومات حول أي الجداول في قاعدة بيانات ممكنة لإعلامات تغيير باستخدام GetTablesEnabledForNotificationsالأسلوب. وعلى الرغم من ذلك، يمكن أيضا استخدام Aspnet_regsql سطر الأوامر إلى ol إلى إدارة إعلامات تغيير لقاعدة بيانات SQL الخادم والجداول الخاصة به.

ملاحظةملاحظة

إلى الاتصال بأية طريقة من الطرق في هذه الفئة، بالاشتراك الذي تستخدمه إلى الوصول إلى قاعدة بيانات SQL الخادم يجب أن يكون لديك أذونات إلى إنشاء الجداول وإجراءات sإلىred. إلى تمكين الإخطارات تشغيل جدول محدد، يجب أن يكون لديك أذونات إلى إنشاء مشغل SQL الخادم تشغيل هذا الجدول. لمزيد من المعلومات حول كيف يتم إلى تعيين الأذونات في قاعدة بيانات، راجع وثائق SQL الخادم. للحصول على مزيد من المعلومات حول الحساب المستخدم من قبل عملية ASP.NET، راجع الانتحال ASP.NET.

هو مثال التعليمة البرمجية التالية ASP.NET بسيطة الصفحة لتمكين وتعطيل إعلامات التغيير تشغيل SQL الخادم قاعدة بيانات الجداول. فهو يستخدم SqlCacheDependencyAdminالكائن إلى إدارة إعلامات بالتغييرات في قاعدة بيانات المحدد في سلسلة اتصال يسمى MyConnectionString. يتضمن المثال ملفين، ملف.aspx الذي يعرف واجهة مستخدم وملف التعليمات برمجية-الخلف يحتوي على تعليمات برمجية المصدر للأحداث ASP.NET.

أول نموذج هو ملف.aspx التي تعرف واجهة مستخدم.

ملاحظة الأمانملاحظة الأمان

يحتوي هذا المثال على مربع نص يقبل إدخال المستخدم و الذي يعد تهديد أمان محتمل. بشكل افتراضي، تتحقق صفحات ويب ASP.NET من أن مُدخلات المستخدم لا تتضمن برنامج نصي أو عناصر HTML. لمزيد من المعلومات، راجع نظرة عامة حول عمليات استغلال البرنامج النصي.



<%@ 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 xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html" />
  <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>


النموذج الثاني هو الملف تعليمات برمجية-الخلف الذي يحتوي على تعليمات برمجية المصدر للصفحة الأحداث.


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

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: