ما هي أفضل طريقة لإعادة تعيين ذاكرة التخزين المؤقت للخادم عن بعد في مزرعة الويب؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

يحتفظ كل خادم من خوادم الويب الخاصة بالإنتاج بذاكرة التخزين المؤقت الخاصة به لمواقع الويب المنفصلة (تطبيقات الويب ASP.NET).حاليًا، لمسح ذاكرة التخزين المؤقت، نقوم بتسجيل الدخول إلى الخادم و"لمس" ملف web.config.

هل لدى أي شخص مثال على طريقة آمنة/آمنة ل عن بعد إعادة تعيين ذاكرة التخزين المؤقت لتطبيق ويب معين؟من الناحية المثالية، يمكننا أن نقول "امسح ذاكرة التخزين المؤقت للتطبيق X الذي يعمل على جميع الخوادم" ولكن أيضًا "امسح ذاكرة التخزين المؤقت للتطبيق X الذي يعمل على الخادم Y".

التعديلات/التوضيحات:

  • ربما يجب أن أوضح أن القيام بذلك عبر التطبيق نفسه ليس خيارًا حقًا (على سبيل المثال.نوع ما من تسجيل الدخول إلى التطبيق، أو تصفح صفحة معينة أو معالج معين من شأنه مسح ذاكرة التخزين المؤقت).من أجل القيام بشيء كهذا، سنحتاج إلى تعطيل/تجاوز التسجيل وكود تتبع الإحصائيات، أو إفساد إحصائياتنا.

  • نعم، تنتهي صلاحية ذاكرة التخزين المؤقت بانتظام.لكن ما أود القيام به هو إعداد شيء ما حتى أتمكن من انتهاء صلاحية ذاكرة التخزين المؤقت المحددة عند الطلب، عادةً بعد تغيير شيء ما في قاعدة البيانات (نحن نستخدم SQL 2000).يمكننا القيام بذلك الآن ولكن فقط عن طريق تسجيل الدخول إلى الخوادم نفسها.

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

المحلول 2

وجدت أ ديفكس مقالة بخصوص أداة اللمس التي تبدو مفيدة.

سأحاول دمج ذلك إما مع جدول في قاعدة البيانات (أضف سجلاً وستقوم أداة اللمس المساعدة بالعثور عليه وتحديث ملف web.config المناسب) أو خدمة ويب (إجراء مكالمة وسيتم استدعاء أداة اللمس المساعدة للتحديث ملف web.config المناسب)

نصائح أخرى

لكل تطبيق، يمكنك كتابة برنامج نصي صغير لذاكرة التخزين المؤقت-dump.aspx لإيقاف بيانات ذاكرة التخزين المؤقت/التطبيق.انسخه إلى جميع تطبيقاتك واكتب برنامجًا نصيًا مركزيًا لإدارة الاتصال.

من أجل الأمان، يمكنك إضافة جميع أنواع عمليات البحث عن المصادقة أو التحقق من IP.

هنا الطريقة التي أقوم بها بإغراق التطبيق الفعلي:

Context.Application.Lock()
Context.Session.Abandon()
Context.Application.RemoveAll()
Context.Application.UnLock()

قد لا يكون هذا "أنيقًا"، ولكن يمكنك إعداد مهمة مجدولة تقوم بتنفيذ برنامج نصي دفعي.سيقوم البرنامج النصي بشكل أساسي "بلمس" web.config (أو أي ملف آخر يؤدي إلى إعادة الترجمة) نيابةً عنك.

وإلا، هل لم يتم ضبط ذاكرة التخزين المؤقت للتطبيق الخاص بك بحيث تنتهي صلاحيتها بعد N دقيقة؟

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