مشاركة عبر


الإرشادات التفصيلية: إضافة ذاكرة تخزين مؤقت قاعدة بيانات محلي إلى مستوى N تطبيق

على ذاكرة تخزين مؤقت لقاعدة البيانات المحلية ، في سياق Visual Studio، هو SQL Server Compact 3.5قاعدة البيانات التي تم تكوينها إلى مزامنة بيانات مع قاعدة بيانات عن بعد باستخدام خدمات مزامنة Microsoft لـ ADO.NET. هذه معاينة يوفر إرشادات خطوة بخطوة لإضافة SQL Server Compact 3.5قاعدة بيانات إلى تطبيق التي تم إنشاؤها في الإرشادات التفصيلية: إنشاء تطبيق بيانات N-المستوىموضوع.

أثناء هذه معاينة، سوف تتعلم كيفية إلى القيام بالمهام التالية:

  • إضافة "قاعدة البيانات المحلية" ذاكرة تخزين مؤقت العنصر إلى مشروع.

  • تكوين مزامنة بيانات.

  • قم بدمج العمليات المزامنة في الخدمة بيانات موجود.

  • تعديل تعليمات برمجية الذي يقوم بتحميل بيانات وبالتالي فإنه يسترد جدول "العملاء" من قاعدة البيانات المحلية ذاكرة تخزين مؤقت.

  • إضافة التعليمة البرمجية لبدء عملية المزامنة.

المتطلبات الأساسية

لاستكمال الإرشادات التفصيلية هذه، تحتاج لما يلي:

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

فتح الحل NTierWalkthrough

إلى فتح الحل NTierWalkthrough

إضافة محلي قاعدة بيانات ذاكرة تخزين مؤقت إلى NTierWalkthrough

لأن محلي قاعدة بيانات ذاكرة التخزين المؤقت هو SQL Server Compact 3.5قاعدة بيانات التي هو الموجود تشغيل العميل، بإضافة ذاكرة التخزين المؤقت لقاعدة بيانات المحلية للمشروع PresentationTier. حيث توضح هذه معاينة كيفية إلى لتخزين الجدول Cusإلىmers، سوف تقوم بتسمية قاعدة بيانات التخزين المؤقت CusإلىmersCache.

ملاحظة

في هذه معاينة، ذاكرة تخزين مؤقت المحلية لقاعدة بيانات تسمى CustomersCache لأنه يستخدم فقط جدول "العملاء"، ولكن متعددة الجداول يمكن إضافتها إلى ذاكرة التخزين مؤقت لقاعدة بيانات محلية.

إلى إضافة تخزين البيانات المحلية إلى بمستوى العرض التقديمي

  1. في من مستكشف الحل، انقر نقراً مزدوجاً فوق من PresentationTier و انقر فوق إضافة عنصر جديد?.

  2. انقر فوق القالب قاعدة بيانات التخزين المؤقت.

  3. نوع CustomersCache ل الاسم.

  4. انقر فوق إضافة.

    يفتح مربع الحوار مزامنة بيانات تكوين.

تكوين مزامنة بيانات

لتكوين مزامنة بيانات، تحديد اتصالات بيانات إلى الملقم وتحديد الجداول التي تريد ذاكرة تخزين مؤقت محلياً في تطبيق الخاص بك. بالنسبة لهذه معاينة، قم بتعيين اتصال الخادم إلى الإصدار SQL Server من قاعدة بيانات Northwind و إضافة جدول "العملاء" إلى ذاكرة تخزين مؤقت المحلية. بالإضافة في ذلك، نظراً لإضافة قاعدة بيانات التخزين المؤقت لتطبيق الطبقة n، يتوجب عليك تعيين خيارات متقدمة لإنشاء الالخادم المزامنة المكونات في مشروع منفصلة: DataService.

إلى تكوين مزامنة بيانات في أحد تطبيقات الطبقة n

  1. قم بتعيين الاتصال بالخادم إلى الإصدار SQL الخادم قاعدة بيانات Northwind.

  2. انقر فوق الزر إضافة لفتح صندوق الحوار تكوين جداول "استخدم دون اتصال".

  3. تحديد خانة اختيار المقترنة بالجدول العملاء وانقر فوق ‏‏موافق . (المغادرة قيم الافتراضية).

  4. انقر فوق خيارات متقدمة.

  5. في القائمة الموقع مشروع الخادم ، تحديد DataService .

  6. انقر فوق موافق.

    مزامنة المكونات التي يتم إنشاؤها، البيانات هو متزامنة للمرة الأولى (قاعدة بيانات المحلية هو التي تم إنشاؤها في مشروع ويتم تعبئة البيانات)، وفي معالج تكوين مصدر البياناتفتح.

  7. تحديد الجدول العملاء و ثم تحديد خانة اختيار المقترنة بها تشغيل الصفحة اختيار الكائنات قاعدة بيانات الخاصة بك.

  8. نوع LocalNorthwindCustomers ل من اسم فئة البيانات انقر فوق إنهاء.

تمكين مزامنة في الخدمة بيانات موجود

تمت تمت الإضافة المكونات المزامنة الذي تم إنشاؤه في إلى مشروع DataService، ولكن ما زال أن يكون إلى يتم تطبيقها من قبل الخدمة. SyncContract منشأة تحتوي على المعلومات التي هو مطلوبة من قبل الخدمة. تظهر هذه المعلومات كالتعليقات في ملف. قم بنسخ المعلومات الضرورية في القسم المناسب من App.config الخدمة ملف.

لإضافة معلومات الالخدمة App.config ملف

  1. فتح في CustomersCache.الخادم.SyncContract ملف بالنقر المزدوج فوقها في من مستكشف الحل.

  2. بحث التعليقات خط التي لما يلي:

    <endpoint address ="" binding="wsHttpBinding" contract="DataService.ICustomersCacheSyncContract"/>

  3. نسخ خط دون حرف تعليق.

  4. فتح في App.config ملف من DataService بالنقر المزدوج فوقها في من مستكشف الحل.

  5. بحث <!-- Metadata Endpoints -->التعليق. إضافة الخط التي قمت بنسخها في الخطوة 3 تحت السطر الذي يبدأ ب <endpoint address = "mex".

  6. اكتب اسم (على سبيل المثال، SyncServer) لعنوان نقطة النهاية يمكنك لصقه الآن حيث لديك تعليمات برمجية مشابهة لما يلي:

    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    <endpoint address ="SyncServer" binding="wsHttpBinding" contract="DataService.ICustomersCacheSyncContract"/>
    
  7. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

إلى إضافة العمليات الخدمة المزامنة إلى الخدمة بيانات موجود

  1. فتح في CustomersCache.الخادم.SyncContract ملف بالنقر المزدوج فوقها في من مستكشف الحل.

  2. تغيير اسم الفئة من CustomersCacheSyncService إلى Service1. إظهار أمثلة تعليمات برمجية التالية للتصريح clكـs كـ يجب أن يظهر بعد تغيير اسم clكـs. (C# المستخدمين يجب أيضا تغيير اسم المنشئ.)

    Partial Public Class Service1
        Inherits Object
        Implements ICustomersCacheSyncContract
    ...
    
    public partial class Service1 : object, ICustomersCacheSyncContract
    {...
    
  3. C# المستخدمين:

    قم بتغيير إعلان فئة ل Service1 (في الملف Service1.cs) إلى تكون فئة جزئي حيث الإعلان لما يلي:

    public partial class Service1 : object, ICustomersCacheSyncContract {
    
    private CustomersCacheServerSyncProvider _serverSyncProvider;
    
    public Service1() 
    {...
    
  4. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

لأن العمليات المزامنة أضيفت إلى موجود الالخدمة، يجب تحديث مرجع الخدمة في مشروع PresentationTier.

إلى تحديث المرجع الالخدمة

  1. في من مستكشف الحل، قم بتحديد موقع من ServiceReference1 في مشروع PresentationTier.

  2. من ServiceReference1 بزر الماوس الأيمن فوق و انقر فوق مرجع الخدمة تحديث.

تعديل في نموذج إلى تحميل البيانات Cusإلىmers من ذاكرة تخزين مؤقت المحلي

نموذج يحصل في العرض التقديمي المستوى حاليا على بيانات الخاصة به من الخدمة بيانات. ولذلك، يجب إلى تعديل تعليمات برمجية إلى تحميل البيانات من النسخ المحلية من الجدول Cusإلىmers في SQL Server Compact 3.5قاعدة بيانات. الجدول Orders (الطلبيات) هو لا يزال تحميل باستخدام البيانات التي يتم إرجاعها من DataService.

إلى تعديل Form1 إلى تحميل بيانات Cusإلىmers من ذاكرة التخزين المؤقت لقاعدة البيانات المحلية

  1. افتح Form1 في محرر تعليمات برمجية.

  2. استبدال الموجود Form1_Loadتعليمات برمجية بما يلي:

    Using DataSvc As New ServiceReference1.Service1Client
    
        ' Create a CustomersTableAdapter to load data from
        ' the local database cache.
        Dim CustomersTableAdapter As New LocalNorthwindCustomersTableAdapters.CustomersTableAdapter
    
        NorthwindDataSet.Customers.Merge(CustomersTableAdapter.GetData)
        NorthwindDataSet.Orders.Merge(DataSvc.GetOrders)
    End Using
    
    using (ServiceReference1.Service1Client DataSvc = new ServiceReference1.Service1Client())
    {
        LocalNorthwindCustomersTableAdapters.CustomersTableAdapter customersTableAdapter
           = new LocalNorthwindCustomersTableAdapters.CustomersTableAdapter();
        northwindDataSet.Customers.Merge(customersTableAdapter.GetData());
        northwindDataSet.Orders.Merge(DataSvc.GetOrders());
    }
    

اختبار التطبيق

قم بتشغيل التطبيق. البيانات هو التي تم استردادها من ذاكرة تخزين مؤقت لقاعدة البيانات المحلية وخدمة البيانات.

لإختبار التطبيق

  1. اضغط F5.

  2. البيانات من جدول "العملاء" هو التي تم استردادها من قاعدة بيانات المحلية، والبيانات الموجودة في الجدول Orders (الطلبيات) هو التي تم استردادها من الخدمة البيانات.

  3. يغلق النموذج.

مزامنة بيانات

والآن بعد أن عرض التقديمي tier هو إعداد dهوplay الجداول من المصادر الصحيحة، والخطوة التالية هو لإضافة تعليمة برمجية لبدء المزامنة. لن إضافة زر إلى النموذج لبدء عملية المزامنة.

إلى مزامنة البيانات بين ذاكرة تخزين مؤقت المحلية لقاعدة البيانات وقاعدة البيانات البعيدة

  1. افتح Form1 في عرض "تصميم".

  2. انقر فوق شريط الأدوات تشغيل النموذج و إضافة زر إلى شريط الأدوات.

  3. اسم الزر SyncButton.

  4. انقر نقراً مزدوجاً فوق SyncButإلىn إلى إنشاء SyncButton_Clickمعالج حدث.

  5. تشغيل تعليمات برمجية التالية عملية المزامنة. إضافة لمعالج الأحداث.

    Dim syncAgent As CustomersCacheSyncAgent = New CustomersCacheSyncAgent
    
        Using syncClient As New ServiceReference1.CustomersCacheSyncContractClient
        syncAgent.RemoteProvider = New Microsoft.Synchronization.Data.ServerSyncProviderProxy(syncClient)
        Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize
    
        NorthwindDataSet.Customers.Merge(New LocalNorthwindCustomersTableAdapters.CustomersTableAdapter().GetData())
    
        Dim syncSummary As String = "Total changes downloaded: " & _
           syncStats.TotalChangesDownloaded.ToString() & vbCrLf & _
           "Last successful synchronization: " & _
           syncStats.SyncCompleteTime.ToString
        MessageBox.Show(syncSummary)
    End Using 
    
    CustomersCacheSyncAgent syncAgent = new CustomersCacheSyncAgent();
    
    using (ServiceReference1.CustomersCacheSyncContractClient syncClient = new ServiceReference1.CustomersCacheSyncContractClient())
    {
        syncAgent.RemoteProvider = new Microsoft.Synchronization.Data.ServerSyncProviderProxy(syncClient);
        Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize();
        northwindDataSet.Customers.Merge(new LocalNorthwindCustomersTableAdapters.CustomersTableAdapter().GetData());
    
        string syncSummary = "Total changes downloaded: " + 
        syncStats.TotalChangesDownloaded.ToString() + Environment.NewLine +
        "Last successful synchronization: " +
         syncStats.SyncCompleteTime.ToString();
        MessageBox.Show(syncSummary);
    }
    
  6. البيانات من جدول "العملاء" هو التي تم استردادها من قاعدة بيانات المحلية، والبيانات الموجودة في الجدول Orders (الطلبيات) هو التي تم استردادها من الخدمة البيانات.

  7. يغلق النموذج.

اختبار التطبيق

لإختبار التطبيق

  1. اضغط F5.

  2. مع تشغيل تطبيق، باستخدام من مستعرض الخادم/ مستكشف قاعدة بيانات (أو another قاعدة بيانات management إلىol) إلى الاتصال إلى ملقم بعيد قاعدة بيانات وقم بتعديل بعض السجلات.

    1. في من مستعرض الخادم/ برنامج مستكشف قاعدة بيانات، حدد موقع الجدول Cusإلىmers تشغيل خادم قاعدة بيانات البعيدة (الاتصال لا إلى Northwind.sdf).

    2. انقر نقراً مزدوجاً فوق جدول "العملاء" و انقر فوق إظهار جدول بيانات.

    3. قم بتعديل سجل واحد أو أكثر و تنفيذ تغيير. (الانتقال إيقاف الصف المعدلة).

  3. انتقل إلى النموذج و انقر فوق SyncButton.

  4. تحقق من أن التعديلات إلى قاعدة بيانات البعيدة متزامنة لقاعدة بيانات المحلية و المعروضة في الشبكة.

  5. يغلق النموذج. (إيقاف تصحيح).

الخطوات التالية

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

راجع أيضًا:

المهام

كيفية القيام بما يلي: إضافة تعليمات برمجية إلى Datasets في التطبيقات ذات المستوى N

الإرشادات التفصيلية: إضافة التحقق من صحة إلى تطبيق بيانات N-مستوى

الإرشادات التفصيلية: إنشاء بين الحين والآخر متصل التطبيق

الإرشادات التفصيلية: نشر تطبيق العميل اتصال بين الحين والآخر مع قاعدة بيانات المحلية

كيفية القيام بما يلي: تكوين محلي وقواعد البيانات عن بعد المزامنة ثنائية الاتجاه

المبادئ

نظرة عامة حول تطبيقات بيانات N-المستوى

في بعض الأحيان متصل التطبيقات نظرة عامة

SQL الخادم ضغط 3.5 و ‏‫Visual Studio

ما هو الجديد في تطوير التطبيقات للبيانات

موارد أخرى

تحديث هرمي

الوصول إلى بيانات في ‏‫Visual Studio