تنفذ HOW TO: المستندة إلى مفتاح التبعيات من أجل بيانات التخزين المؤقت في ASP.NET باستخدام Visual C# .NET

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية308147
للحصول على إصدار Microsoft VB .NET من هذه المقالة، راجع 312358.

تشير هذه المقالة إلى مساحات أسماء Microsoft .NET Framework فئة مكتبة التالية:
  • System.Web.Caching
  • System.Web.SessionState
  • System.Data.SqlClient

في هذه المهمة

الموجز
توضح هذه المقالة كيفية تنفيذ التخزين المؤقت البيانات باستخدام تبعيات مستند إلى مفتاح في تطبيق Microsoft ASP.NET. المثال أدناه في هذه المقالة بإنشاء ثم إدراج كائن DataSet في ذاكرة التخزين المؤقت مع تبعية تعيين على عنصر آخر إدخال ذاكرة التخزين المؤقت بواسطة الرجوع إلى المفتاح الخاص به. للحصول على أمثلة من بيانات ذاكرة التخزين المؤقت مع الوقت أو تبعيات المستندة إلى ملف، راجع قسم "المراجع" في هذه المقالة.

back to the top

متطلبات

  • Microsoft Windows 2000 أو Microsoft Windows XP
  • ملقم معلومات الإنترنت لـ Microsoft "(IIS)
  • إطار عمل Microsoft .NET
  • Microsoft SQL Server
back to the top

إنشاء تطبيق ويب ASP.NET

استخدم Microsoft Visual C# .NET إنشاء موقع ويب Microsoft ASP.NET المسمى DataCacher التطبيق:
  1. افتح Microsoft Visual Studio .NET.
  2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.
  3. في مربع الحوار مشروع جديد ، انقر فوق Visual C# مشاريع ضمن أنواع Project ثم انقر فوق تطبيق ويب ASP.NET ضمن قوالب.
  4. في المربع الموقع، اكتب DataCacher كما هو اسم المشروع عن طريق استبدال WebApplication# الاسم الافتراضي في مسار URL. إذا كنت تستخدم الملقم المحلي, يمكن ترك اسم الملقم كـ http://localhost تعيين الموقع إلى http://localhost/DataCacher.
back to the top

إنشاء نموذج ويب

ملاحظة: مفسّرة بمزيد من التفاصيل في المقطع "تشغيل رمز" التعليمات البرمجية المضمنة في هذا المقطع.

إنشاء بيانات ذاكرة التخزين المؤقت نموذج:
  1. إضافة "نموذج ويب" جديد يسمى DataCacheSample.aspx إلى المشروع في Visual Studio .NET:
    1. انقر بزر الماوس الأيمن فوق عقدة مشروع في الحل Explorer.
    2. انقر فوق إضافة ثم انقر فوق إضافة WebForm جديد.
    3. اسم DataCacheSample.aspx نموذج ويب.
    4. انقر فوق فتح.
  2. ضمن علامة التبويب طريقة العرض تصميم "النموذج" ويب "في IDE .NET Studio Visual (بيئة التطوير المتكاملة) ، إضافة زر" نموذج ويب "إلى الصفحة:
    1. استخدام عملية السحب والإفلات لنقل زر "نموذج ويب" إلى الصفحة.
    2. انقر فوق الزر الجديد. تغيير خاصية المعرف إلى CreateNewOrCached ثم قم بتغيير الخاصية Text إلى إنشاء جديد أو المخزن.
  3. إضافة زر "نموذج ويب" ثاني:
    1. استخدم الزر عملية السحب والإفلات لنقل "نموذج ويب" آخر إلى الصفحة من مربع الأدوات.
    2. انقر فوق الزر الجديد. تغيير خاصية المعرف إلى إزالة ثم قم بتغيير الخاصية Textإزالة.
  4. إضافة تسمية "نموذج ويب":
    1. استخدام عملية السحب والإفلات لنقل تسمية "نموذج ويب" إلى الصفحة من مربع الأدوات.
    2. انقر فوق تسمية جديدة. تغيير خاصية المعرف إلى CacheStatus ثم قم بإلغاء تحديد الخاصية Text.
  5. استخدام عملية السحب والإفلات لنقل عنصر تحكم "نموذج ويب" DataGrid إلى الصفحة من مربع الأدوات. اترك الخاصية معرف تعيين الإعداد الافتراضي DataGrid1 في الجزء خصائص عنصر التحكم هذا.
back to the top

إضافة التعليمات البرمجية

إضافة التعليمات البرمجية لإدراج العناصر ذاكرة التخزين المؤقت لإزالة العناصر ذاكرة التخزين المؤقت و لإنشاء تبعية ذاكرة التخزين المؤقتة:
  1. انقر بزر الماوس الأيمن فوق صفحة .aspx ومن ثم انقر فوق عرض التعليمات البرمجية إلى فتح صفحة الخلفية التعليمات البرمجية.
  2. للحصول على هذه العينة تأكد من إضافة System.Data.SqlClientSystem.Data و مساحات الأسماء System.Web.Caching إلى مساحة الاسم إدخال قائمة في صفحة التعليمات البرمجية الخلفية. إذا كنت تستخدم Visual Studio. ستبدو NET لإنشاء "نموذج ويب" الخاص بك مساحة الاسم سرد في التعليمات البرمجية - خلف الصفحة مشابهة لما يلي:
    using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Web.Caching;						
    ملاحظة: يمكنك سيتلقى تحذيرات إذا مساحة الاسم غير مدرج أو إذا كان إدخال القائمة المكرر من مساحة اسم موجوداً.
  3. على علامة التبويب طريقة العرض "تصميم" ، انقر نقراً مزدوجاً فوق الزر CreateNewOrCached لفتح الحدث CreateNewOrCached_Click في صفحة التعليمات البرمجية الخلفية.
  4. قم بإضافة التعليمات البرمجية التالية إلى الحدث CreateNewOrCached_Click:
    private void CreateNewOrCached_Click(object sender, System.EventArgs e) {	//Attempt to create a DataSet object from the cache entry with the key "CacheDataSetEmployees" 	object CacheDataSetEmployees = (DataSet)Cache.Get("CacheDataSetEmployees");	        //Check to see if the object is null	if(CacheDataSetEmployees == null)	{	     //Set a value for the cache entry that will serve as the 	     //key for the dependency to be created on	     Cache["SqlPubsEmployees"] = "SomeValue";	     //Create the array of cache key item names	     string[] keys = new String[1];	     keys[0] = "SqlPubsEmployees";					     DataSet ds = new DataSet();	     //Create the connection and pass in the ConnectionString	    SqlConnection MySqlConn = new SqlConnection("Server=kronicas17;Trusted_Connection=Yes;initial catalog=pubs");	     //Create the Data Adapter and pass in the command text and connection to use	     SqlDataAdapter MySda = new SqlDataAdapter("SELECT TOP 10 * FROM Employee", MySqlConn);	     //Populate the DataTable "Employees" in the DataSet	     MySda.Fill(ds,"Employee");	     //Set the DataGrid's DataSource to the "Employee" DataTable	     DataGrid1.DataSource = ds.Tables["Employee"];					     //Create a dependency object referencing the array of cachekeys (keys)	     CacheDependency MyDependency = new CacheDependency(null, keys);	     //Insert the DataSet into Cache with a dependency on MyDependency	     Cache.Insert("CacheDataSetEmployees", ds, MyDependency);				MySqlConn.Close();					     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "New Version Created";	}	else	{	     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "Cached Version Used";	     //Set the DataSource to the cached version of the DataSet	     DataGrid1.DataSource = CacheDataSetEmployees;        }        //Bind the DataGrid to the DataSource	DataGrid1.DataBind();}						
    ملاحظة: قد تحتاج إلى تعديل سلسلة_أحرف_الاتصال في التعليمات البرمجية في هذه الخطوة للعمل بشكل صحيح مع ملقم SQL. للحصول على التعليمات البرمجية للعمل بشكل صحيح يجب أن يكون لديك قاعدة بيانات SQL Server Pubs تثبيت.
  5. على التبويب طريقة العرض تصميم الصفحة DataCacheSample.aspx انقر نقراً مزدوجاً فوق الزر "إزالة" لفتح حدث Remove_Click في صفحة التعليمات البرمجية الخلفية.
  6. قم بإضافة التعليمات البرمجية التالية إلى الحدث Remove_Click:
    private void Remove_Click(object sender, System.EventArgs e)     {	//Remove the cache item listed in the cachekeys array (keys)	Cache.Remove("SqlPubsEmployees"); 	//Display the status of the cache item	CacheStatus.Text = "Cache Item Removed";     }					
  7. أضف العنصر التالي إلى ملف Web.config <system.web> بين </system.web>:
    <identity impersonate=”true” />
  8. من القائمة ملف، انقر فوق حفظ الكل لحفظ "نموذج ويب" والملفات الأخرى مقترن.
  9. من القائمة بنية في IDE .NET Studio Visual انقر فوق إنشاء لإنشاء المشروع.
back to the top

تشغيل التعليمات البرمجية

  1. لتشغيل التعليمات البرمجية انقر بزر الماوس الأيمن فوق الصفحة DataCacheSample.aspx في "مستكشف الحلول" ومن ثم انقر فوق عرض في مستعرض.
  2. انقر فوق الزر CreateNewOrCached يجب عرض التسمية CacheStatus "إنشاء إصدار جديد" ثم يتم تعبئة عنصر تحكم DataGrid.

    ملاحظات:
    • يكون الإعداد إنشاء إصدار جديد التسمية CacheStatus نتيجة مفتاح ذاكرة التخزين المؤقت CacheDataSetEmployees الرجوع يتم لا بعد إلى عنصر ذاكرة التخزين مؤقت صالح عند إدخال الحدث. في هذه الحالة، يتم إنشاء DataSet بعنصر التحكم DataGridDataSet ثم يتم إدخال DataSet إلى ذاكرة التخزين المؤقت باستخدام مفتاح ذاكرة التخزين المؤقت "CacheDataSetEmployees".
    • من الخطوة السابقة التي يجب أن يكون لديك أيضاً لاحظت إنشاء كائن CacheDependency جديد يسمى MyDependency. يتم سرد الكائن MyDependency أنه التبعية عنصر CacheDataSetEmployees عندما يتم إضافتها إلى ذاكرة التخزين المؤقت بواسطة استخدام الأسلوب إدراج. من المهم ملاحظة أنه بينما يوضح هذا النموذج يستند إلى مفتاح التبعيات ، يمكنك استخدام أنواع أخرى من المستندة إلى تبعية التخزين المؤقت معايير مثل الملفات أو طابع زمني, أيضاً.
  3. انقر فوق الزر CreateNewOrCached مرة أخرى. تعرض تسمية CacheStatus "المخزنة مؤقتاً الإصدار" ، التي تنص على أنه تم استخدام DataSet المخزنة مؤقتاً. يمكنك التحقق من أن هذه هي البيانات المخزنة مؤقتاً عن طريق تعديل أحد السجلات المعروضة في قاعدة بيانات Pubs باستخدام محلل استعلام SQL أو أداة أخرى. بعد تعديل السجل انقر فوق الزر CreateNewOrCached مرة أخرى. ملاحظة لا يتم عرض التغييرات التي أجريتها. انقر فوق إزالة ثم انقر فوق CreateNewOrCached مرة أخرى لمشاهدة التغييرات التي تم إجراؤها على قاعدة البيانات.
  4. انقر فوق الزر إزالة. تعرض تسمية CacheStatus "إزالة إدخال ذاكرة التخزين المؤقت". عنصر ذاكرة التخزين المؤقت بمفتاح إزالة "SqlPubsEmployees" بواسطة استخدام الأسلوب Cache.Remove في الحدث Remove_Click. لأن سرد الصفيف (والتي تحتوي على اسم العنصر تمت إزالته مفتاح ذاكرة التخزين المؤقت) مع MyDependency عند إنشائه ، تتم إزالة العنصر "CacheDataSetEmployees" بسبب إنشائه باستخدام أسلوب إدراج ثم الإشارة إلى MyDependency كمعلمة التبعية الخاصة به.
  5. انقر فوق الزر CreateNewOrCached مرة أخرى. تعرض تسمية CacheStatus رسالة "إنشاء إصدار جديد" لأنه تم إنشاؤه DataSet based on أن أنه لم تعد موجودة في ذاكرة التخزين المؤقت عند تشغيل في الحدث.
  6. قد تلاحظ أيضًا أن يتم عرض عنصر التحكم DataGrid كما المشتركة(SSP) البيانات حتى بعد إزالة العنصر DataSet من ذاكرة التخزين المؤقت. يكون ذلك نتيجة الخاصية EnableViewState تعيين إلى True بشكل افتراضي. وهذا يمكّن حالة عنصر التحكم الاحتفاظ ثم هذا لا تتعلق إلى معالجة إدخال ذاكرة التخزين المؤقت في التعليمات البرمجية. للحصول على تمثيل مرئي أكثر من حالة عنصر التحكم في كل مرحلة ، يمكنك تعيين EnableViewState إلى خطأ.
ملاحظة: اعتبار هذا المثال في فعلي الحالة، قد الصفيف مفتاح ذاكرة التخزين المؤقت (صفيف المفاتيح في نموذج التعليمة البرمجية) اضغط مفاتيح ذاكرة التخزين المؤقت جداول أخرى أو العناصر الأخرى ذاكرة التخزين المؤقت بحيث إذا كان أحد هذه العناصر تم تغيير هل يمكن إزالة إدخال ذاكرة التخزين المؤقت (CacheDataSetEmployees في هذه العينة) للعنصر الذي تم إنشاؤه بواسطة هذه التبعية من ذاكرة التخزين المؤقت أيضاً. كنت قد ثم العمل الضرورة باستخدام عمليات الاسترجاعات; للحصول على مزيد من المعلومات حول عمليات الاسترجاعات ، راجع قسم "المراجع" في هذه المقالة.

back to the top

استكشاف الأخطاء وإصلاحها

  • يجب أن تكون أسماء المفاتيح التي تم سردها في صفيف مفاتيح ذاكرة التخزين المؤقت المقترنة مع العناصر الفعلية ذاكرة التخزين المؤقت. إذا لم تكن لا يتم الاحتفاظ العنصر التي يتم استخدام التبعية بشكل صحيح في ذاكرة التخزين المؤقت. سيكون مثال إذا صفيف المفاتيح في نموذج التعليمة البرمجية تعليق عنصر الصفيف آخر ثم تم تعيين العنصر إلى اسم مفتاح ذاكرة التخزين مؤقت غير صالح.
  • صفيف مفاتيح ذاكرة التخزين المؤقت ليس له معينة معنى حتى يتم استخدامها مع كائن CacheDependency.
  • إذا قمت بإدراج عنصر في ذاكرة التخزين المؤقت مع عدم وجود تبعية أو انتهاء الصلاحية أخرى وقت التشغيل التحكم عند إزالة العنصر من ذاكرة التخزين المؤقت.
back to the top
مراجع
للحصول على مزيد من المعلومات حول استخدام CacheItemRemovedCallback تفويض, راجع موقع Microsoft التالي على الويب: ملاحظة: المفوض CacheItemRemovedCallback تعريف أسلوب رد اتصال للإعلام التطبيقات عند إزالة عنصر ذاكرة التخزين المؤقت من ذاكرة التخزين المؤقت.

لمزيد من المعلومات حول فئة CacheDependency راجع موقع Microsoft التالي على الويب: ملاحظة: فئة CacheDependency بتعقب تبعيات ذاكرة التخزين المؤقت يمكن أن تكون الملفات أو الدلائل أو مفاتيح الكائنات الأخرى في ذاكرة التخزين المؤقت التطبيق الخاص بك.

لمزيد من المعلومات حول خيارات التخزين المؤقت المختلفة المتوفرة لـ ASP.NET راجع وثائق Microsoft .NET Framework SDK التالية:
إضافة عناصر إلى ذاكرة التخزين المؤقت
http://msdn.microsoft.com/en-us/library/cc511535.aspx
للحصول على معلومات إضافية حول خيارات التخزين المؤقت المختلفة المتوفرة لـ ASP.NET انقر فوق رقمي المقالتين التاليتين لعرضهما في "قاعدة المعارف لـ Microsoft:
305140التخطيط ASP.NET
307225INFO: نظرة التخزين المؤقت ASP.NET
back to the top

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 308147 - آخر مراجعة: 08/28/2007 06:26:02 - المراجعة: 2.8

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbcaching kbdatabase kbhowtomaster KB308147 KbMtar
تعليقات