تحتاج التعليم فيما يتعلق HttpApplicationState من ASP.net

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

  •  06-07-2019
  •  | 
  •  

سؤال

اليوم لدي يخلط مع 2 القضايا المتعلقة HttpApplicationState من ASP.net.أسئلتي هي كما يلي

  1. إذا كنت تستخدم StateServer أجل إدارة الدورة (خارج proc إدارة الدورة الأشياء التي أريد أن استخدام بلدي ويب النشر) هل هو آمن على افتراض أن HttpApplicationState (أنا الوصول عن طريق النظام.ويب.واجهة المستخدم.الصفحة.تطبيق الملكية) يتم أيضا تخزين داخل StateServer مثلما الدورة ؟ حتى لو workerprocess مجموعة كتب قيمة "10" إلى الصفحة.طلب, طلب آخر يعمل في workerprocess ب في بعض نقطة في وقت لاحق يجب أن نرى هذا "10" على نفس المفتاح هل هو صحيح ؟

  2. واحد من زملائي المطور قال لي انه وجد في اختبار له في StateServer السيناريو ، إذا كان لديه 100 إدخالات مفتاح قيمة إدراجها في الصفحة.الدورة ثم عندما يحاول قراءة أي مفتاح من مختلف الطلب ، workerprocess يجلب كامل 100 إدخالات إلى نشطة workerprocess مساحة الذاكرة ثم يقدم المفتاح الذي كان في الواقع طلبت الطلب. هل هذا صحيح ؟

سيكون نقدر إذا كان شخص ما يمكن أن تساعدني على إزالة الالتباس في هذا الصدد.

وذلك بفضل!

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

المحلول

  1. StateServer يدعم الدورة الدولة فقط ، تطبيق الدولة يقتصر على AppDomain.

  2. على StateServer مخازن التسلسل من الدورة.فإنه لا يوجد لديه طريقة لمعرفة كيفية الحصول على مفتاح محدد القيمة.عند الوصول إلى الدورة هو إعادة رطب في التطبيقات التي تتطلب ذلك ، يتم استخدام بيانات الدورة العادية مدة الطلب.

نصائح أخرى

  1. بقدر ما أعرف عن عملية الخروج من حالة الملقم لا تخزن HttpApplicationState البيانات.يمكنك اختبار هذا بسهولة أن تكون متأكدا, ولكن أشك في ذلك.

  2. أنا لا أعتقد أن هذا صحيح أيضا.الدورة المخزن هو الأساس hashtable.البحث عن مفتاح واحد في hashtable يجب فقط إرجاع القيمة المقترنة.لا يجب أن نرى سلوك تصفون.مرة أخرى, يجب أن تكون قادرة على اختبار هذا بسهولة.

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