معالجة التحديثات إلى DataTable المخزنة مؤقتًا عندما تحتفظ جلسة المستخدمين بـ DataViews استنادًا إلى DataTable

StackOverflow https://stackoverflow.com/questions/304004

سؤال

موقع الويب الخاص بي يعمل على خادم واحد.أقوم بالتخزين المؤقت لـ DataTable.تحتوي كل جلسة على إشارة إلى DataView الخاصة بها والتي تشير إلى DataTable.ما يقلقني هو أنه عندما أحتاج إلى إجراء تغييرات على جدول البيانات الأساسي، هل سيتم نشرها في كل جلسة من الإشارات إليها.

أم أن هناك طريقة أفضل للتعامل مع هذا الوضع.

هل كانت مفيدة؟

المحلول

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

  • لديك حالة سباق محتملة عند إنشاء DataTable المخزن مؤقتًا للمرة الأولى:قد تكتشف الطلبات المتعددة إلى الخادم أن DataTable المخزن مؤقتًا غير موجود، وتحاول إنشاءه - في هذه الحالة قد يكون لديك DataTable مكرر.

  • إذا قمت بإعادة إنشاء DataTable المخزن مؤقتًا (على سبيل المثال، إذا تمت إزالته من ذاكرة التخزين المؤقت لـ ASP.NET بسبب انتهاء المهلة)، فستستمر DataViews الموجودة في الجلسة في الإشارة إلى DataTable القديم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top