كيفية التعامل مع المتغيرات الثابتة في مكتبة تستخدم على حد سواء لسطح المكتب والويب؟

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

  •  19-09-2019
  •  | 
  •  

سؤال

لدي بعض فئات مكتبة C # التي تستفيد من المتغيرات الثابتة. يمكنني استخدام فئات المكتبة هذه على حد سواء لتطبيقات سطح المكتب وتطبيقات الويب. المشكلة هي، كما اكتشفت فقط، لا تنخفض المتغيرات الثابتة جيدا على خادم ويب؛ يتم تقاسم القيم عبر جميع الجلسات باستخدام موقع الويب!

كيف يمكنني الحفاظ على ميزات متغير ثابت للاستخدام في تطبيقات سطح المكتب الخاصة بي، مع التأكد من أن كل جلسة على خادم الويب الخاص بي لها قيمها المستقلة الخاصة بهذه المتغيرات - ولكن داخل الجلسة نفسها، لا تزال تتصرف حقا مثل ثابت؟

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

المحلول

يتم تقاسم القيم المتغيرة الثابتة عبر جميع المواضيع في مجال التطبيق. في تطبيق ASP.NET الطريقة الموصى بها لتخزين البيانات ذات الصلة فقط للمستخدم الحالي هو جلسة.

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

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