استهداف عمليات عامل IIS عند الطلب

حسنا ، إعداد غريب ، سؤال غريب. لدينا تطبيق Client and Web Admin لتطبيق SaaS ، يعمل على asp.net-2.0/iis-6. يمكن أن يقوم تطبيق المسؤول بتغيير الخيارات المعروضة في تطبيق العميل. عندما يتم حفظ هذه الخيارات في المسؤول ، فإننا نطلق على Webservice على العميل ، من المسؤول ، لمسح ذاكرة التخزين المؤقت لخيارات هذا الحساب المحدد.

Recently we started giving our Client application >1 Worker Processes, thus causing the cache of options to only be cleared on 1 of the currently running Worker Processes.

لذا ، من الواضح أن لديّ طرقًا أخرى لحل هذه المشكلة (لكن التقدير مقدر) ، ولكن سؤالي هو: هل هناك أي طريقة لاستهداف/التكرار من خلال كل عمليات العمال عبر طلب الويب؟

3

2 إجابة

أنا أقدم بعض الافتراضات هنا لهذه الإجابة ....

    <�لى>

    وأفترض التطبيق العميل يستخدم واحدة من الطبقات التخزين المؤقت .NET لتخزين خيارات التطبيق الخاص بك؟

    </لى>
  1. عندما تقول "flush" هل تعني إعادة تدفقها مرة أخرى إلى ملف تهيئة أو جدول db؟

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

إذا لم يكن لديك حق الوصول إلى مصدر العميل لتعديله إما أن تشاهد ملف إعدادات الخيارات أو جدول DB (قل باستخدام SqlCacheDependency) ، فأعتقد أنك عالق بهذا السلوك.

0
وأضاف

لدي حق الوصول الكامل إلى المشرف والعميل ، عن طريق ذاكرة التخزين المؤقت ، أعني كائن ذاكرة التخزين المؤقت .net. بواسطة flush أعني إزالة العنصر من كائن ذاكرة التخزين المؤقت.

أنا على علم بأن كلا من العمليات المنفذة لا تشارك بيانات ذاكرة التخزين المؤقت. هذا نوع من اللغز الخاص بي)

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

0
وأضاف